gpt4 book ai didi

c++ - ifstream::read 在 ASCII 26 处失败

转载 作者:太空狗 更新时间:2023-10-29 19:59:47 26 4
gpt4 key购买 nike

这个问题困扰了我很久。例如代码

ifstream in;
char temp;
int a;

in.open ("Random.txt");

for (a = 0;a < 10000;a++)
in.read (&temp, 1);

in.close ();

工作正常,直到 ifstream 遇到替代字符 (ASCII = 26)。然后,对于所有后续字符,ifstream::read 给我 temp = -1。我真的不希望这种情况发生,而是希望它继续从文件中读取字符而不是 -1。我做错了什么?

最佳答案

您需要以二进制模式打开流。由于历史原因,Windows 上的文本模式会将 Control-Z (ASCII 26) 视为文件结尾。

还有更多详情in this earlier answer of mine .

关于c++ - ifstream::read 在 ASCII 26 处失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11165228/

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