paramètre string pour un constructeur
bonjour,
pourquoi, dans le débogueur gnu, j'ai nomFichier en chaine vide?
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #ifndef SCANNEUR_HPP
#define SCANNEUR_HPP
#include <fstream>
#include <string>
constexpr int taille=6,demiTampon=taille/2-1,sentinelle1=demiTampon,sentinelle2=taille-1;
class scanneur{
public:
scanneur(std::string nomFichier);
... code ....
#endif |
scanneur.cpp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <iostream>
#include <fstream>
#include <string>
#include "scanneur.hpp"
scanneur::scanneur(std::string nomFichier):posDemi(0),derniers(0),enAvant(0),debutLex(0){
fichier.open(nomFichier.c_str(),std::ifstream::binary);
if(!fichier){
std::cerr<<"impossible d'ouvrir le fichier"<<std::endl;
exit(1);
}
tampon[sentinelle1]=tampon[sentinelle2]=EOF;
charger1();
}
void scanneur::charger1(){
fichier.read(tampon,demiTampon);
if( (derniers=fichier.gcount()) < demiTampon)
tampon[derniers]=EOF;
posDemi++;
}
... some code... |
main.cpp
Code:
1 2 3 4 5 6 7 8 9
| #include <string>
#include <iostream>
#include "scanneur.hpp"
int main(){
scanneur scan("test.txt");
...some code...
} |
quelqu'un a une idée?