为什么我的 fstream 在将数据写入文件后需要 30 多秒才能关闭?我写的越多,关闭所需的时间就越长。
fstream *writeReadStream = new fstream("/media/username/KODAK/file.bin", fstream::in | fstream::out | fstream::binary);
writeReadStream->seekg(0x100000);
char randomData[0x100000];
for (int i = 0; i < 0x270; i++)
writeReadStream->write(randomData, 0x100000);
writeReadStream->close();
delete writeReadStream;
调试时,我看到应用程序挂起close
调用。即使在调用printf
前后不调试和调用的情况下close
,也需要很长时间才能达到秒printf
。同样,我写的越多,花费的时间就越长。知道为什么吗?
这似乎只发生在闪存驱动器/SD 卡上。