Bonjour.

Je débute en C et j'ai quelques soucis
Donc voilà, je voulais à partir d'un chemin récupérer le nom du fichier.
Exemple:
/home/here/here2/laphoto.bmp ==> laphoto.bmp

je vous montre le code source:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
#include <stdlib.h>
#include <stdio.h>
 
char *nom (char *chemin) {
 
int i;
int j;
 
int position;
 
char *name;
 
for (i=0;i<1000;i++) {
 
    if(chemin[i] == '/' )  position=i;
 
}
 
for (j=0;j<1000-(position+1);j++) name[j]=chemin[j+position+1];
 
return name;
 
}
 
int main () {
 
char *chemin="/home/here/here2/latof.bmp";
 
char *lenom;
 
lenom=nom(chemin);
 
printf(lenom);
 
printf("\n");
 
return 0;
 
}

quand je met un autre caractère que '/' , par exemple 'h' ou autre je récupère bien le chemin mais j'ai une erreur de segmentation (classique quoi )

Donc voilà, j'y suis dessus pendant un long moment, si vous voulez bien m'aider.

Merci d'avance.