Estoy aprendiendo C++ por primera vez. No tengo antecedentes de programación previos.Confusión de C++. Lectura de enteros desde archivo de texto. Convertir a ASCII
En el libro que he visto este ejemplo.
#include <iostream>
using::cout;
using::endl;
int main()
{
int x = 5;
char y = char(x);
cout << x << endl;
cout << y << endl;
return 0;
}
El ejemplo tiene sentido: imprimir un número entero y la representación ASCII del mismo.
Ahora, creé un archivo de texto con estos valores.
48
49
50
51
55
56
75
Estoy escribiendo un programa para leer este archivo de texto - "theFile.txt" - y quieren convertir estos números para el valor ASCII.
Aquí está el código que escribí.
#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;
}
Tengo entendido el segundo programa que se muestra.
- El compilador no sabe el tipo exacto de datos que se encuentra en "theFile.txt". Como resultado, debo especificarlo así que elijo leer los datos como un char.
- Leí cada dígito en el archivo como un carácter y lo convertí a un valor entero y lo almacené en "el entero".
- Como tengo un número entero en "theinteger", quiero imprimirlo como un caracter pero char thechar = char (theinteger); no funciona como se esperaba
¿Qué estoy haciendo incorrecto?
Entonces, ¿qué * * hace su programa en este momento? – Sam
¿No debería ser 'using std :: cout;'? – Manuel
Gracias por notar mi error. Yo presenté el código equivocado. Lo actualizará en unos minutos. – newbie