Probleme de chargement de fichier ,urgent

Signaler
Messages postés
50
Date d'inscription
lundi 29 mars 2004
Statut
Membre
Dernière intervention
21 juin 2004
-
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
-
voilà j'ai un probleme de chargement de fichier,
si j'utilise la fonction fscanf , il saute des données le code:
// if( ( familles=fopen("familles.dat","r"))==NULL)
// {
//perror("le fichier familles n'existent pas");
//}

//while (!feof (familles))
//{
// cout<<"fichier familles";
// fscanf(familles,"%d\r\n%s\r\n%d\r\n%d\r\n",&Tfamilles[i].no,&Tfamilles[i].nom,&Tfamilles[i].nbpers,&Tfamilles[i].appro);
// i=i+1;
// }
// fclose(familles);

sinon si je fais avec istream( on m'a dis que c'etait sans doute la chaine de caractere qui posait probleme avec scanf): ça ne charge que des zeros voici le code que j'ai mis:

ifstream f ("familles.dat");

// Lecture ligne a ligne
while (!f.eof ())
{
char p[20];
f.getline(p,20);
Tfamilles[i].no=atoi(p);
f.getline(Tfamilles[i].nom,20);
f.getline(p,20);
Tfamilles[i].nbpers=atoi(p);
f.getline(p,20);
Tfamilles[i].appro=atoi(p);
i=i++;
}

f.close ();

merci

1 réponse

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
fscanf(familles,"%d\r\n%s\r\n%d\r\n%d\r\n",&Tfamilles[i].no,&Tfamilles[i].nom,&Tfamilles[i].nbpers,&Tfamilles[i].appro);

&Tfamilles[i].nom, il se peut ke le pb vienne du & : je mexplike. une chaine caractere est converti lors d'une kelconke utilisation (sof sizeof ...) en un pointeur vers le premier element : ex : char sC[50];
strncpy(sC, "coucou c'est moi", 17);
Dans l'appel de la fonction strncpy, sC <=> &sC[0]

donc en fait, Tfamilles[i].nom suffit amplement car tu donne l'adresse du premier element.

Voila, si ca marche tjrs pas, nesite pas a redemander

++

Alhexman