Bonjour;

Je tente déséspérement de lister le contenu d'un dossier avec la fonction findfisrt() mais a chaque appel, ma variable contenant le chemin est tronqué !!??

Mon projet ce compose comme suit :

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
//Main.cpp

#include <stdio.h>
#include <string.h>

#include "Head.hpp"


void main&#40; int argc, char **argv &#41;
&#123;
	 /* Program entry point */
	 char * path = new char&#40;256&#41;;
	 strcpy&#40;path, argv&#91;1&#93;&#41;; //Ici je récupère le chemin eg &#58; D&#58;\structure
	 strcat&#40;path, "\\*"&#41;; //Ajout de la chaine "\*" 
	 affiche&#40;path&#41;;

&#125;
Head.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
#ifndef H_Head
#define H_Head

void affiche&#40;char *&#41;;

#endif
et sa définition :
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
#include <dir.h>
#include <stdio.h>
#include "head.hpp"

void affiche&#40;char * source&#41;&#123;
int ret=0;
ffblk * s = new ffblk;

// Ici source = d&#58;\structure\*, ce qui est tout a fait normal

	ret = findfirst&#40;source, s, FA_DIREC&#41;;
//aprés l'appel a findFirst&#40;&#41; source = d&#58;\structure + des caractère ascii
// ret = -1 ce qui indique une erreur

//la boucle while ne sera jamais exécuté
	while&#40;!ret&#41;&#123;
		printf&#40;"\n %s - %d", s->ff_name, ret&#41;;
		findnext&#40;s&#41;;
	&#125;;
&#125;;
Voilà mon problème. Je pourrais faire appel à la fonction findfirst des Apis mais je souhaite comprendre le pourquoi du problème.

merci.

Ps : System Xp Pro compilateur BCC5.5

angI.