小编yui*_*ick的帖子

如何从fstream获得一致的回复?

当我通过fstream读取信息时,它在两个不同的程序中发生了两次,即使给定的文件没有改变,给我程序的输入也不稳定.

在我最近的一个关注音频阅读的节目中.我正在对文件中的前四个字母进行简单的检查.这些字母应该是RIFF,它们也是 - 我检查过.

因此,为了检查给定二进制文件的格式,我缓冲前四个字母并查看它们是否等于'RIFF'.

char buffer[4];
std::ifstream in(fn,std::ios::binary);
in.read(buffer,4);
if(buffer!="RIFF"){//Always wrong atm
    std::cout << "INVALID WAV FILE: " << buffer << std::endl;
}   
Run Code Online (Sandbox Code Playgroud)

当我第一次制作这个节目时,我记得这个工作正常.现在,我通过自己的cout得到一个错误:

INVALID WAV FILE: RIFFýfK    
Run Code Online (Sandbox Code Playgroud)

有没有人知道出了什么问题?也许是一种让fstream更加一致的方法?

c++ binary fstream

1
推荐指数
1
解决办法
35
查看次数

标签 统计

binary ×1

c++ ×1

fstream ×1