「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));
}
次のように読んだ後、ファイルポインターを1バイト戻す必要があります。
file.seekg(-1, ios::cur);
前もって感謝します。