Bonjour,

pour lister l'intégralité des fichiers d'un dossier, je vais ça (et ça marche):

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
41
42
43
44
45
46
47
48
BOOL didThisFail = FALSE;
	WIN32_FIND_DATA FindFileData;
	HANDLE hfind=NULL;
	FILETIME dateElement;
	wstring ext=toWstring("\\*.*");
	wstring chemin=source+ext;
	cout<<"la source est"<<endl;
	wcout<<source<<endl;
	cout<<"le chemin est"<<endl;
	wcout<<chemin<<endl;
	hfind = FindFirstFile(chemin.c_str(), &FindFileData);
	while(FindNextFile(hfind,&FindFileData)!=0)
   {
	wstring nomElement(FindFileData.cFileName);
	wcout<<nomElement<<endl;
	dateElement=FindFileData.ftLastWriteTime;
    if (nomElement!=toWstring(".") && nomElement!=toWstring("..")){ 
	wstring newDossierToSave=source+toWstring("\\")+nomElement;
	wstring newDestinationFile=destination+toWstring("\\")+nomElement;
	if((FindFileData.dwFileAttributes) & (FILE_ATTRIBUTE_DIRECTORY)){//si c'est un dossier
		cout<<"newDestinationFile= "<<endl;
		wcout<<newDestinationFile<<endl;
		if (verifierExistence(toString(newDestinationFile))==false){
			if (CreateDirectory(newDestinationFile.c_str(), NULL)){
				cout<<"creation du dossier ..."<<endl;}
			else {cout<<"erreur dans la creation du dossier, le contenu de celui-ci ne sera pas sauvegardé"<<endl;}
		}
		sauvegardeDossier(newDossierToSave,newDestinationFile,ext);
	}
	else{
		if (verifierExistence(toString(newDestinationFile))==false){ 
			if (CopyFile(newDossierToSave.c_str(),newDestinationFile.c_str(), BOOL(false))){
			cout<<"copie reussie"<<endl;}
			else {cout<<"copie loupee"<<endl;}
		}
		else if(plusRecent(dateElement,newDossierToSave)){
			if (CopyFile(newDossierToSave.c_str(),newDestinationFile.c_str(), BOOL(false))){
			cout<<"copie reussie"<<endl;}
			else {cout<<"copie loupee"<<endl;}
			}
		else {cout<<"le fichier existe et n'est pas plus recent"<<endl;}
		
	}
	}
    }   
   FindClose(hfind);
}
(dans ce cas je fais une copie, mais bon, l'action de lister est la même).

Quand je veux lister QUE les .txt, je remplace la ligne ne rouge par ça non ? :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
wstring ext=toWstring("\\*.txt");
et là, surprise, ça ne marche pas

Avez vous une idée de pourquoi ?

merci d'avance