我的代码看起来接近这个:
- 大量使用普通 C++ IO 流插入的写入,例如
steram << "foo";
stream.flush();
在某一点;_stat()
在上面刷新之后立即调用MSVC C API 。
我观察到的是_stat()
调用返回的尺寸不同于stream.tellp()
较小的尺寸。
如果我stream
在调用_stat()
函数之前关闭它,它会返回正确的结果。我已经进入了_stat()
,它用于FindFirstFileEx()
获取尺寸。
这是一个已知的 Win32 API 怪癖吗?