Aidez moi c pour lire ds un fichier question bateau...

roomsmush Messages postés 16 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 22 août 2005 - 28 mars 2004 à 20:04
roomsmush Messages postés 16 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 22 août 2005 - 1 avril 2004 à 21:01
pkoi ce code ne marche pas j'ai beau me casser la tete sur mon ecran rien y fait : sachant que c:\fcach est rampli par la chaîne suivante : "c:\fichier1;c:\fichier2;c:\fichier3;"
tout marche bien pour b[0] mais apres pfiut plus rien aidez moi par pitié

#include
#include <conio.c>
#include <string>
using namespace std;

int main(void)
{
FILE *fichier ;
fichier=fopen("c:\\fcach","w+") ;
fputs("c:\fichier1;c:\fichier2;c:\fichier3;",fichier);
fclose(fichier);
fichier=fopen("c:\\fcach","r");
char szBuffer;
char b[256][256];
int j=0;
int i=0;
while(!feof(fichier) ) {
fread(&szBuffer, 1, 1, fichier); //on range les caractere dans le buffer
if(szBuffer == ';') {i++;goto pass;}
b[i][j]=szBuffer;
pass:
cout << szBuffer ;
j++;
}

for(i=0;i<4;i++)
{
cout <<"\n" << b[i] ;
getch();
}
}

4 réponses

yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 1
28 mars 2004 à 21:11
tu pourrais ecrire ligne par ligne

fputs("c:\fichier1\nc:\fichier2\nc:\fichier3\n",fichier);[\b]

et y acceder par un acces sequentiel aulieu de chercher les ;

[b]Le meilleur langage de programmation est un étudiant diplomé.. 8-)
0
frdestroyers27 Messages postés 93 Date d'inscription mardi 27 mai 2003 Statut Membre Dernière intervention 19 avril 2008
29 mars 2004 à 04:17
salut!
tu devrait lire avec fgets a la place de fread
fread lis un bloc si tu ecrit avec fwrite tu lis avec fread mais la t'ecrit avec fputs tu serait mieux de lire fgets
ca depend c'est quoi tu veux faire avec ton programme

Destroyers27
0
G0ss3Yn Messages postés 65 Date d'inscription dimanche 12 janvier 2003 Statut Membre Dernière intervention 5 novembre 2010
1 avril 2004 à 10:01
Tu utilise le C++, donc utilise le au maximum, ifstream pour lire dans un fichier est bien mieux je pense que FILE.
Tu insére ton texte dans ton fichier sous la forme que tu veux et ensuite tu récupére morceau par morceau en faisant :

// Ouverture du ficher en lecture
ifstream tonfichier ;
tonfichier.open( "fcach" ) ;

// Récupération d'un morceau
tonfichier.getline( tonbuffer, taillemaxi, charDelim ) ;

et comme ça tu auras dans 'tonbuffer' toutes la chaine jusque le caractère charDelim....
J'espère que cela t'aidera !
Bye ! Bye !

G0ss3Yn... ( Bon coding a tous !)
0
roomsmush Messages postés 16 Date d'inscription mercredi 17 mars 2004 Statut Membre Dernière intervention 22 août 2005
1 avril 2004 à 21:01
wahou je connaissais pas cette methode , merci infiniment ca va bien me faciliter la vie....
c extraordinaire.....
0
Rejoignez-nous