我想知道是否可以使用“fstream”从二进制文件中读取一个字节,然后更改该字节并将其写回。我尝试了这段代码,但它没有用,也没有任何反应,但我确信它读取正确。
file.open(path, ios::in|ios::out|ios::binary|ios::ate);
file.seekg(0, ios::end);
int size=file.tellg();
file.seekg(0,ios::beg);
char buffer;
for(int i=0;i<size;i++)
{
file.read((char*)&buffer,sizeof(char));
buffer=(buffer+7)%256;
file.write((char*)&buffer, sizeof(char));
}
像这样阅读后,我是否应该将文件指针取回一个字节:
file.seekg(-1, ios::cur);
提前致谢。