gpt4 book ai didi

C++ 困惑。从文本文件中读取整数。转换为 ASCII

转载 作者:可可西里 更新时间:2023-11-01 15:22:12 26 4
gpt4 key购买 nike

我是第一次学习 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);没有按预期工作。

我做错了什么?

最佳答案

您正在一个字符一个字符地读取,但您真的(我认为)想要将每个数字序列作为一个整数来读取。将循环更改为:

int theinteger; 
while (thestream >> theinteger )
{
char thechar = char(theinteger);
cout << thechar << endl;
}

+1 对于第一个问题的格式和表达非常好,顺便说一句!

关于C++ 困惑。从文本文件中读取整数。转换为 ASCII,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2230089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com