Petit probleme avec un char*
Bonjour,
Je fais un petit solitaire en Qt, et j'ai voulu gérer un systeme de meilleurs scores (avec sauvegarde dans fichier texte). Ca marchait tres bien jusqu'a cette apres midi ou j'ai eu des problemes de copie lord de la récuperation des données, puis un probleme... carrément bizarre
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
char* pseudoAll[10];
ifstream f("highscore.txt", ios::in |ios::binary);
if (f)
{
while(!f.eof() && i<NOMBRE_TOP)
{
char *Buffer = new char[100];
f.getline(Buffer, 100);
cout<<Buffer<<endl;
char *tmp = new char[strlen(Buffer)];
for(int i=0; i<strlen(Buffer); i++)
tmp[i] = Buffer[i];
tmp[strlen(Buffer)] = '\0';
f.getline(Buffer, 100);//entete
int h = atoi(Buffer);
pseudoAll[i] = new char[strlen(tmp)];
if(true)
{
b=true;
for(int j=0; j<strlen(tmp); j++)
pseudoAll[i][j] = tmp[j];
pseudoAll[i][strlen(tmp)] = '\0';
scoreAll[i] = h;
i++;
}
}
}
cout<<"en bas :="<<pseudoAll[0]<<endl;
for(int k=0; k<i; k++)
cout<<pseudoAll[0]<<"<=>"<<scoreAll[0]<<endl; |
Le probleme est le suivant :
_cout<<"en bas :="<<pseudoAll[0]<<endl; m'affiche le pseudo correctement
_for(int k=0; k<i; k++)
cout<<pseudoAll[0]<<"<=>"<<scoreAll[0]<<endl;[/CODE]
m'affiche quelque chose du genre :<=>25000
J'ai rien entre... je comprend pas pouquoi ca fait ca ....J'espere que quelqu'un pourra m'aider.
Cordialement