【发布时间】:2019-11-14 11:30:12
【问题描述】:
我正在使用 ifstream 到 stringstream 来读取文件,但它在几行后停止...
string read(string filename)
{
ifstream inFile;
inFile.open(filename);
stringstream strStream;
strStream << inFile.rdbuf();
inFile.close();
string str = strStream.str();
return str;
}
此代码在 'zh¬' 之后停止
我在想也许它们是 ascii 表中的控制字符,它停止后的第一个字符是 26。
但我不认为这很重要。
【问题讨论】:
-
您要读取什么样的文件?是二进制文件吗?一个文本文件?如果它是您以文本模式(默认)打开的二进制文件,那么在 Windows 上,字节
26被视为 EOF(它对应于Ctrl-Z)。 -
你的代码看起来没问题,只要确保它是一个 ASCII 文件。提供文件的扩展名。
-
@seccpur 文件扩展名无关紧要。
标签: c++ file visual-c++