Conversion char/int à la lecture d'un fichier
Bonjour,
J'ai un petit souci provenant de la lecture et enregistrement d'un fichier. En effet, mon programme doit gérer des matrices avec pour méthode de sauvegarde :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
ofstream of(FileName.c_str());
of<<taille<<endl;
for(int i=0;i<taille;i++)
{
for (int j=0;j<taille;j++)
{
of << mat[i][j] << "\t";
}
}
of.close(); |
Mais mon problème est que quand je recharge, au lieu de pouvoir obtenir des int comme voulu, j'obtiens a priori des char. Quand je veux les passer en int, j'obtiens évidemment la valeur en ASCII et pas la valeur "réelle" (exemple, si j'ai sauvegardé 2, je me retrouve avec 50).
Voici ma fonction de chargement :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| ifstream f(FileName.c_str());
if (f)
{
taille=f.get(); //taille est la taille de la matrice
for (int i=0;i<taille;i++)
{
for (int j=0;j<taille;j++)
{
while (f)
{
mat[i][j]=f.get();
}
}
}
f.close();
} |
J'aimerai donc savoir s'il était possible d'avoir une fonction (peut-etre pas get) qui me permette de stocker dans mat[i][j] directement l'int en question.