J'apprends le C++ pour la première fois. Je n'ai aucun antécédent de programmation.C++ Confusion. Lecture d'un entier à partir d'un fichier texte. Convertir en ASCII
Dans le livre que j'ai, j'ai vu cet exemple.
#include <iostream>
using::cout;
using::endl;
int main()
{
int x = 5;
char y = char(x);
cout << x << endl;
cout << y << endl;
return 0;
}
L'exemple a du sens: imprime un nombre entier et la représentation ASCII de celui-ci.
Maintenant, j'ai créé un fichier texte avec ces valeurs.
48
49
50
51
55
56
75
Je vous écris un programme pour lire ce fichier texte - « theFile.txt » - et que vous voulez convertir ces chiffres à la valeur ASCII.
Voici le code que j'ai écrit.
#include <iostream>
#include <fstream>
using std::cout;
using std::endl;
using std::ifstream;
int main()
{
ifstream thestream;
thestream.open("theFile.txt");
char thecharacter;
while (thestream.get(thecharacter))
{
int theinteger = int(thecharacter);
char thechar = char(theinteger);
cout << theinteger << "\t" << thechar << endl;
}
system ("PAUSE");
return 0;
}
C'est ce que je comprends du deuxième programme montré.
- Le compilateur ne connaît pas le type de données exact contenu dans "theFile.txt". Par conséquent, je dois le spécifier, donc je choisis de lire les données en tant que char.
- J'ai lu chaque caractère du fichier sous la forme d'un caractère et l'ai converti en une valeur entière et stocké dans "l'entier".
- Puisque j'ai un entier dans "l'entier" je veux l'imprimer comme un caractère mais char thechar = char (theinteger); ne fonctionne pas comme prévu.
Que fais-je incorrect?
Alors, que * fait * votre programme en ce moment? – Sam
Cela ne devrait-il pas être 'l'utilisation de std :: cout;'? – Manuel
Merci d'avoir remarqué mon erreur. J'ai posé le mauvais code. Je vais le mettre à jour dans quelques minutes. – newbie