【发布时间】:2012-07-22 06:21:27
【问题描述】:
所以我有这段代码:
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;
我的文件包含: “她闻起来”
在标准输出中,我看到的只是“SHE”。我已经浪费了很多时间来解决这个问题,有人可以帮我理解为什么会这样吗?
另外,这是否能够读取扩展 ascii 字母表中的字符?
【问题讨论】:
-
使用
getline (ss, aString);代替ss >> aString应该可以,但我从未真正尝试过getline和stringstream。 -
这似乎工作了。你有没有机会知道上面的代码是否忽略了任何字符?我需要能够处理扩展的 ascii 字母表。
-
您可能需要 UTF8 或 UTF16 字符串,具体取决于您需要存储的内容。
标签: c++ string file-io stringstream