Probleme d'ouverture de fichier

Résolu
totoscill Messages postés 48 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 10 décembre 2009 - 15 juin 2007 à 15:18
totoscill Messages postés 48 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 10 décembre 2009 - 15 juin 2007 à 17:19
Bonjour,
j'aimerai ouvrir un fichier afin de lire des infos inclus dans celui ci mais mon programme n'arrive pas à l'ouvrir.
Voici mon code:
#include

"stdafx.h"#include

<conio.h>#include

#include

<fstream>#include

<string>using

namespace std;
char

FileName[256];
bool

is_readable(
const string & file ) {

ifstream FileName ( file.c_str() );

return !FileName.fail(); }

void

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

float CalValues;

float InitPointX,InitPointY;

char FileName[256];fstream File (FileName);

// compter le nombre de lignes

int count = 0;string line;

printf(

"\t***Post processing mode of CAPI distance measurements***\n\n\n");printf(

"enter value of calibration(m/pulses) and press 'enter':");cin>>CalValues;

cout<<

"CalValues choose = "<< CalValues<<endl;printf(

"enter start point on X and press 'enter':");cin>> InitPointX;

printf(

"enter start point on Y and press 'enter':");cin>> InitPointY;

cout<<

"Start point:"<<
" X:"<" Y:"<"enter filename of file to process:");cin>> FileName;

cout<<

"FileName: "<<FileName<<endl; 

/*** Test fichier ***/

if ( is_readable( FileName ) ) {

cout <<

"Fichier existant et lisible.\n"; }

else{

cout <<

"Fichier inexistant ou non lisible.\n";

return;}

 

printf(

"press 's' then 'enter' for start post processing:");

if (getchar()!=
's'){

File.open(FileName,ios::in|ios::out|ios::binary);

//ouverture du fichiercout<<

"file open!!!"<<endl;

/*** Gestion du fichier de mesure ***/

/*** Test Lecture ***/

if ( !File ){

cerr <<

"open error\n";

return ;}

if ( ! ( File >> line ) ){

cerr <<

"read error\n";

return ;}

cout <<

"line read : " << line;

/*** lire le fichier ***/

if ( File )
// ce test échoue si le fichier n'est pas ouvert{

// cette boucle s'arrête dès qu'une erreur de lecture survient

while ( getline( File, line ) ){

// afficher la ligne à l'écrancout << line << endl;

}

}

/*** test fin du fichier ***/

while ( getline( File, line ) ){

++count;

}

}

/*** Fin du programme ***/

while(getchar()!=
'f'){

printf(

"press 'f' then 'enter' for leave the program\n");}

getch();

return ;}

le fichier est bien trouver mais ne s'ouvre pas.
pourriez vous me dire ou est l'erreur,svp?

Je vous remercie

2 réponses

totoscill Messages postés 48 Date d'inscription jeudi 26 avril 2007 Statut Membre Dernière intervention 10 décembre 2009
15 juin 2007 à 17:19
merci!
j'ai trouvé mon erreur quand même:

fstream File (FileName);==> fstream File !!!

maintenant ça marche.
Merci qand meme.
3
ndubien Messages postés 557 Date d'inscription dimanche 25 septembre 2005 Statut Membre Dernière intervention 10 mai 2014 4
15 juin 2007 à 17:06
Salut,

Voilà une fonction permettant d'ouvrir tous les fichiers (sauf s'ils contiennent le caractère ascii SUB) :

string ouvrir_fichier(string nom_fichier) {
 string phrase;
 ifstream fichier(nom_fichier.c_str());
 if (!fichier) {
  cout <<"Erreur, fichier corrompu ou inexistant !\n\n";
  phrase = "Erreur, fichier corrompu ou inexistant !";
 } else {
  stringstream buffer;
  buffer << fichier.rdbuf();
  fichier.close();
  phrase = buffer.str();
 }
 return phrase;
}

<hr />Ciao

Nico
0
Rejoignez-nous