从C++中的文件中逐字符读取时出现问题

Trouble reading char by char from a file in C++

本文关键字:读取 问题 C++ 文件 字符      更新时间:2023-10-16

所以我有一段代码:

ifstream sFile;
sFile.open(argv[1]);
stringstream ss;
unsigned char aChar;
string aString;
while (sFile >> noskipws >> aChar) {
    ss << noskipws << aChar;
}
ss >> noskipws >> aString;
cout << noskipws << aString << endl;

我的文件包含:"她闻到了"

在stdout中,我看到的只是"SHE"。我浪费了这么多时间试图弄清楚,有人能帮我理解为什么会发生这种事吗?

此外,它能从扩展的ascii字母表中读取字符吗?

请查看此页面了解noskipws:

http://www.cplusplus.com/reference/iostream/manipulators/noskipws/

在这个例子中,它显示了你遇到的问题,它是通过使用来修复的

iss.seekg(0);

如果你这样做,这应该有效:

sFile.seekg(0);

在while循环之前。希望这是对的/有帮助的。