我第一次学习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”文件中包含的确切数据类型,因此我需要指定它,所以我选择将数据读取为char类型。
- 我将文件中每个数字都以char类型读取,并将其转换为整数值并存储在“theinteger”中。
- 由于“theinteger”中有一个整数,我想将其作为字符打印出来,但是char thechar = char(theinteger); 的效果不如预期。
我做错了什么?