我如何寻找超出现有文件的结尾?
考虑一下我有test.bin
1000 个字节。
然后我运行以下
std::filebuf fbuf;
fbuf.open("c:\\test.bin", std::ios_base::in | std::ios_base::out | std::ios_base::app | std::ios_base::binary);
fbuf.pubseekoff(10, std::ios_base::end);
fbuf.sputc(1);
fbuf.close();
运行此示例后,我预计新文件大小为 1011 字节。但相反,它在现有文件的末尾添加了 0x01,使其成为 1001 字节。
有趣的是,当它是新文件时,它会按照我想要的方式工作。
我在 Windows 7 x64 上运行它,但目标平台是 Ubuntu。