fonction de recherche de fichier en C [LINUX] - C - Programmation
Marsh Posté le 15-04-2004 à 22:38:57
Déja, tu vires les \0 de tes chaines.
Quand tu ecris ".."le compilo créera une chaine de 3 caracteres, le 3e etant 0.
DE plus ton test est incomprehensible tel qu'ecrit:
if((i=(strcmp(lecture->d_name,".\0" )))!=0 && (j=(strcmp(lecture->d_name,"..\0" )))!=0 )
Primo, les !=0 sont inutiles, et secondo, tu n'utilises pas i et j plus loin, alors les affectations sont inutiles.
En simplifiant ton test, on obtient:
if (strcmp(lecture->d_name,"." ) && strcmp(lecture->d_name,".." ) )
test qui echoue si lecture->d_name est "."ou ".."
A+,
Marsh Posté le 16-04-2004 à 00:57:24
Boh tu sais Taz, tout le monde a le droit de debuter la prog.
A+,
Marsh Posté le 16-04-2004 à 11:55:07
ReplyMarsh Posté le 16-04-2004 à 12:06:01
Si tu debugges, tu fais un appel a strcmp(lecture->d_name,"." ); avant ta ligne, tu met un breakpoint et basta.
Ca evitera d'avoir des lignes illisibles avec des trucs a enlever hors de la phase de debug, activite fortement plantogene. Ton truc pour debugger risque en fait de rajouter des bugs quand tu va passer de la phase "code avec trucs dedans pour le debug" a la phase "code sans trucs dedans pour le debug"
A+,
Marsh Posté le 16-04-2004 à 13:02:17
je sais bien... le hic c que je suis pas encore famillier avec les debuggers linux.. c tout..
Sinon ça va je gere mes printfs sauvages
@+
Marsh Posté le 16-04-2004 à 13:30:18
bbugnon a écrit : |
attend qu'on soit clair
"taz" <=> {'t', 'a', 'z', '\0'}
Marsh Posté le 16-04-2004 à 13:52:35
bbugnon a écrit : je sais bien... le hic c que je suis pas encore famillier avec les debuggers linux.. c tout.. |
Ben donc c'est la premiere chose qu'il te faut potasser, car quand tu maitrisera un minimum, tu rattraperas tout le temps perdu a apprendre comment utiliser le debugger, vis a vis du temps mis a ecrire puis effacer des printf dans le source.
A+,
Marsh Posté le 15-04-2004 à 19:14:09
Salut,
j'arrive pas a trouver une fonction equivalente au FIND qui recherche un fichier donné en parametre (ainsi que le rep de depart)
voila ce que g fait: (stat marche pas non plus)
HELP !!
PS: je sais que la fonction devrait etre recursive par la suite mais la je vois pas...
Message édité par bbugnon le 15-04-2004 à 19:18:00