我有一个 FileSystemWatcher 对象设置来监视控制台应用程序写入的日志文件的更改。通知过滤器设置为:watcher.NotifyFilter = NotifyFilters.Size | NotifyFilters.LastWrite | NotifyFilters.LastAccess; 环境:操作系统:Win 2k8 服务器。
转储到重定向到文件 out.log 的标准输出的控制台应用程序代码:
void MySet::Dump() { std::cout << this << endl; fflush(标准输出);}
在我运行转储(在调试器的即时窗口中)后,文件大小保持不变。如果我运行“类型”命令,更新似乎就会发生。有任何想法吗
c:\temp> 目录 2010 年 5 月 21 日上午 11:11 4,159 out.log
转储后:(无变化)
c:\temp> 目录 05/21/2010 11:11 AM 4,159 out.log
运行“类型”命令...
c:\temp>type out.log 文件现在具有新大小... c:\temp> dir 05/21/2010 11:11 AM 4,410 out.log
为什么会出现这种行为?我在这里错过了什么吗?提前致谢。