Stringtokeneizer

bob82fr Messages postés 38 Date d'inscription samedi 1 février 2003 Statut Membre Dernière intervention 13 janvier 2005 - 8 juin 2004 à 10:34
mop666 Messages postés 46 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 27 février 2007 - 8 juin 2004 à 12:53
hi,

j'ai un enorme probleme, j'essaye de faire une sorte de stringtokeneizer en c++, ca compile bien mais a l'execution j'ai plein de plantages.

int read()
{
FILE *read;
AnsiString ligne;
AnsiString res;

// On ouvre le fichier
read=fopen("temp.txt","r");

if(!read){
printf("\ntemp.txt can't be read\n");
return -1;
}

printf("Lecture en route");

// On recupere les valeurs des differentes variables dans le fichier
// grace a la fonction fscanf
int i = 0;

while (fscanf(read,"%s %s", &ligne, &res) != EOF){

if (AnsiCompareStr(ligne, "modelEsti:")==0){
Estimation = res;
printf("\nRes %s", Estimation);
}

i++;
}

fclose(read);

printf("\n\nSauvegarde lue ! Affichage des valeurs lues :\n\n");

return 1;
}

Des que je sort de la methode il plante. Et l'erreur provient de la methode car j'ai fait plein de tests et c bien cette methode qui me fou le bordel.
J'ai l'impression que c parce que j'utilise des AnsiString avec des fscanf.

Si qq a une solution.

Merci.

a+

1 réponse

mop666 Messages postés 46 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 27 février 2007
8 juin 2004 à 12:53
je sais pas ce que c est ansi string mais fscanf est faite pour que l adresse que tu passe en parametre pointe vers un buffer DEJA alloue. Elle n est pas faite pour des classes qui gere l allocation car dans son code y a rien de prevu pour l appel des methodes des ansistring!!!!
0
Rejoignez-nous