Recupérer nom de fichier en C++

Résolu
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   -  
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Voilà, je souhaite récupérer simplement le noms des fichiers ou dossiers se trouvant dans un autre dossier.


J'ai fais ça pour le moment, il compile bien, me dit qu'il n'y a pas d'erreur mais a l'exécution, il me dit qu'il est incapable d'ouvrir le dossier spécifié:


int _tmain(int argc, _TCHAR* argv[])
{

	// Fichier à ouvrir
	ifstream fichier( "C:\\Documents and Settings\\bastien\\Bureau\\test" );
	if( fichier.is_open( ) == false )
	{
		cout << "ERREUR LORS DE L'OUVERTURE DU DOSSIER test" << endl;
		assert( false );
		return -1;
	}
	
	// Fichier dans lequel on réécrit
	ofstream Newfichier( "C:\\Documents and Settings\\bastien\\Bureau\\test.txt" );
	if ( Newfichier.is_open( ) == false )
	{
		cout << "ERREUR LORS DE L'OUVERTURE DU FICHIER test.txt" << endl;
		assert( false );
		return -1;
	}

	
	string ligne;

	getline( fichier, ligne );
	Newfichier << ligne << endl;

	while( fichier.eof( ) == false )
	{
		getline( fichier, ligne );
		Newfichier << ligne << endl;
	}

	cout << "Appuyez sur une touche...";
	getch( );
	return 0;



Voilà, si qqun aurait une suggestion ou autre ca m'aiderait bcp :).

Merci d'avance

Kira
A voir également:

10 réponses

choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

c'est normal que dans ton chemin de fichier tu mettes "//", ce ne serait pas plutôt

"C:\\Documents and Settings\bastien\Bureau\test"

autre possibilité, tu dois peut être ajouter l'extension du fichier à ouvrir

"C:\\Documents and Settings\\bastien\\Bureau\\test.txt"

0
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
Bonjour et merci de la réponse,

Je suis daccord sur le fait que si c'était un "fichier", il faudrait mettre l'extension, mais là ce que je veux faire c'est ouvrir un "dossierA" afin de récupérer le nom des fichiers ou sous-dossiers se trouvant dans "dossierA" :s.

Pour les "\\", j'ai vérifié et cec que j'ai mi est correct :s.


Merci encore
0
swed
 
Bonjour,
@choubaka : les "\\" sont obligatoires, sinon le compilo va interpréter les "\x" comme des caractères spéciaux.

Comme dit dans la doc (que tu aurais du consulter):
"ifstream provides an interface to read data from files as input streams."
Ifstream permet de lire des FICHIERS. Un répertoire n'est pas un fichier.

D'ailleurs c'est trop drôle, tu lis ton répertoire comme un fichier, avec "getline" :
getline( fichier, ligne );
Qu'est-ce qu'une ligne dans un répertoire ? L'erreur paraît évidente...
0
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
Erf, je viens de voir que tu avais posté avant Choubaka.

Oui mtn que tu le dis c'est vrai qu'une ligne dans une répertoire c'est assez confus...

Je suis en train de voir avec la fonction FindFile, celà pourrais etre une solution?

Merci sinon :)
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
ok ok ok

bizarre tout ça.

C'est pas un bête problème de droit ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
J'ai également vérifié les droits mais je suis bien en administrateur et ai tous les droits :s...

Ou alors c'est que la fonction ifstream ne permet d'ouvrir que des fichiers?

Merci quand même :)
0
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
ça c'est possible, c'est même certain..

http://www.cplusplus.com/reference/fstream/ifstream/

0
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
Ha je me disais aussi....
Du coup jss en train de me renseigner sur FindFile
=>https://codes-sources.commentcamarche.net/
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
0
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
Salut :).

Merci, je vais voir ce que je peux en faire :)^^
0
KiraX10A Messages postés 231 Date d'inscription   Statut Membre Dernière intervention   20
 
En fait c'est bon j'ai trouvé mdr ^^.

Rien à voir avec de la programmation; enfin, juste une petite manip à effectuer et le tour est joué.
=> https://forums.commentcamarche.net/forum/affich-37622029-windows-obtenir-la-liste-des-fichiers-d-un-dossier

Merci quand même a tous :)
0