Я изучаю C ++ впервые. У меня нет предыдущего опыта программирования.
В своей книге я видел этот пример.
#include <iostream>
using::cout;
using::endl;
int main()
{
int x = 5;
char y = char(x);
cout << x << endl;
cout << y << endl;
return 0;
}
Пример имеет смысл: выведите целое число и его представление в ASCII.
Теперь я создал текстовый файл с этими значениями.
48
49
50
51
55
56
75
Я пишу программу для чтения этого текстового файла - "theFile.txt" - и хочу преобразовать эти числа в значение ASCII.
Вот код, который я написал.
#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;
}
Это мое понимание второй показанной программы.
- Компилятор не знает точный тип данных, который содержится в "theFile.txt". В результате мне нужно указать его, чтобы я решил прочитать данные в виде символа.
- Я прочитал каждую цифру в файле как символ, преобразовал ее в целочисленное значение и сохранил в "theinteger".
- Так как у меня есть целое число в "theinteger", я хочу распечатать его как символ, но char thechar = char (theinteger); не работает как положено.
Что я делаю неправильно?