DEBUTANT EN C++

Bonjour,

Je dois lister un repertoire dans lequel il y a des fichiers images .bmp
et ecrire le nom de ces fichiers dans fichier .txt (blanc si le fichier n'existe pas)

Fichier.txt

nom1
nom2

nom4
...


Les noms des fichiers images sont :

Img00000001_001
Img00000002_002
Img00000003_005 saut de 2 a 5, mais premier chiffre inc de 1
Img00000004_006
Img00000005_008
....
Img00000999_150

le premier numero est tj incremente de 1
le deuxieme ne l'est pas (perte d'image au cours de l'acq donc saut a l'image suivante)


j'utilise DEV-C++

A la compil du prog, j'ai les erreurs suivantes : (ouvertures de fichiers)

53 C:\Dev-Cpp\Projet VI\main.cpp no matching function for call to `std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string&, const std::_Ios_Openmode&)'

90 C:\Dev-Cpp\Projet VI\main.cpp no matching function for call to `std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::string&)'

Merci de votre aide pour resoudre ce pb.


Voici mon code

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
#include <fstream.h>
#include <strstream>
#include <sstream>
#include <stdio.h>
#include <io.h>                         //_findfirst routines (system calls) 
 
using namespace std;
 
main()
{   
  std::string CHEMIN_FICHIER;           // Fichier a creer
  std::string CHEMIN_REPERTOIRE;        // Chemin du Repertoire a lister
  std::string NAME;  		            // Nom du fichier a trouver
  std::string tampon1,tampon2;          // tampons pour conv. int to string
  int i, j;                             // numero immage
  int NBIMAGES, PREFICHIMG, DERFICHIMG;
 
 
				         // Creation d'un fichier :
 
  std::cout << "Entrez le CHEMIN DU FICHIER a creer Ex: (c:\\temp\\acqimg.txt)\n";
  std::cin >> CHEMIN_FICHIER;
  std::cout << "\n" << CHEMIN_FICHIER;
  std::cout << "\n";
 
  std::cout << "Entrez le CHEMIN DU REPERTOIRE a lister (Ex: c:\\ACQ\\images)\n";
  std::cin >> CHEMIN_REPERTOIRE;
  std::cout << "\n" << CHEMIN_REPERTOIRE;
  std::cout << "\n";
 
  std::cout << "Entrez le nombre d'images acquises (projet VI 3000) : ";
  std::cin >> NBIMAGES;
  std::cout << NBIMAGES;
  std::cout << "\n";
 
  std::cout << "Entrez le numero * du premier fichier image du repertoire a lister\n (Img0000000*_000) : ";
  std::cin >> PREFICHIMG;
  std::cout << PREFICHIMG;
  std::cout << "\n";
 
  std::cout << "Entrez le numero *** du dernier fichier image du repertoire (max 999) a lister\n (Img00000***_000) : ";
  std::cin >> DERFICHIMG;
  std::cout << DERFICHIMG; 
  std::cout << "\n";
 
 
  // Lire le repertoire et remplir le fichier avec les noms des fichiers images existants
 
 
  ofstream outfile(CHEMIN_FICHIER,ios::app); // Ouverture fichier en mode ecriture                :arrow: 
   {
     for (i=PREFICHIMG; i=DERFICHIMG; i++)
      {
          // créer un flux de sortie
          std::ostringstream oss;
          // écrire un nombre dans le flux
          oss << i;
          // récupérer une chaîne de caractères
          std::string tampon1 = oss.str();	
 
        for (j=i; j=NBIMAGES; j++)
         {         
                   // Creation du chemin du repertoire a lister
 
            // créer un flux de sortie
            std::ostringstream oss;
            // écrire un nombre dans le flux
            oss << j;
            // récupérer une chaîne de caractères
            std::string tampon2 = oss.str();
 
            // Nom du fichier image suivant les valeurs de i et j
 
        	if ((0<=i<10) && (0<=j<10))  
              NAME = "Image0000000"+tampon1+"_00"+tampon2+".bmp";
 
            if ((10<=i<100) && (10<=j<100)) 
              NAME = "Image000000"+tampon1+"_0"+tampon2+".bmp";
 
		    if ((100<i<=DERFICHIMG) && (100<j<=NBIMAGES))
		      NAME = "Image00000"+tampon1+"_"+tampon2+".bmp";
 
 
            CHEMIN_REPERTOIRE = CHEMIN_REPERTOIRE+"\\"+NAME;
 
 
            ifstream infile(CHEMIN_REPERTOIRE); // Ouverture fichier en mode lecture              :arrow: 
             {
              if(!infile)      // Ecriture dans le fichier cree
               {                               
                 outfile << "\n";            
               }                   
              else
                 outfile << CHEMIN_REPERTOIRE;
             }
            infile.close();  
 
  	    }
     }
  }     
 outfile.close();   // Fermeture du fichier cree
 
 cin.ignore();  cin.ignore();
 
}