作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,我试图将文件读入C++程序中,但是整个文件中随机抛出文件末尾。尝试读取文件时,ifstream遇到文件字符结尾时将停止读取。
这是我用来尝试读取文件的代码
size_t bytesAvailable = 1000;
std::ifstream file(directory, std::ifstream::in);
unsigned char headDataBuffer[1000];
file.read((char*)(&headDataBuffer[0]), bytesAvailable);
我尝试读取的文件会进入文件的深处,但是当到达某个字符时停止,后来我发现该字符是文件的结尾,此后有很多文本,但我似乎无法将ifstream转到在文件字符末尾读取任何内容。有没有一种方法可以读取整个文件而不必将其分解成较小的块?
.ƒÑäÄÕ!õÏ]ÀåM”Ú2jó8ÒQ;Fb#Ãë»Cé‚ 1³¸)æ¸)¼™Â¢¼mí¾J”ÜT’S·Õ}xÇ\'Ò¬Ëëk|&c
õe´„ [zÊN4äHH•Æpé€i ‹,鶉v%••αÁ:ïOÚåÀ‡É=wí7iÓOQ3Fg,¹ªGô”(
在此处停止)I9ḓæ£/¼™ t£«|¿¿FI€À^,,2tÁ[;Åéúî2`9es¹Va°ÝNe-〜1È´'},••°ÛÙuòŸLÚቜÕ/9ñ7,Õ[uv /†í]¼CúŸ
最佳答案
尝试以二进制模式打开文件。在某些平台上,文本模式和 binary
模式的行为有所不同,例如,文本模式将行尾解释为LF,或将控制字符(可能为Ctrl + D或Ctrl + Z)解释为文件结束。
size_t bytesAvailable = 1000;
std::ifstream file(directory, std::ifstream::in|std::ifstream::binary);
unsigned char headDataBuffer[1000];
file.read((char*)(&headDataBuffer[0]), bytesAvailable);
关于c++ - 在使用c++读取文件时,有没有办法忽略文件字符的结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63647583/
我是一名优秀的程序员,十分优秀!