Probleme de chargement de fichier ,urgent

cs_oceane67 Messages postés 50 Date d'inscription lundi 29 mars 2004 Statut Membre Dernière intervention 21 juin 2004 - 7 juin 2004 à 09:29
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 - 7 juin 2004 à 18:32
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

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 2
7 juin 2004 à 18:32
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
0