cs_oceane67
Messages postés50Date d'inscriptionlundi 29 mars 2004StatutMembreDernière intervention21 juin 2004
-
7 juin 2004 à 09:29
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 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");
//}
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++;
}
&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