cmd停止使用重定向写入文件的可能原因是什么?

时间:2013-12-23 11:56:41

标签: file batch-file windows-7 cmd

这是在win7上。

我有一个执行C ++程序的批处理脚本,并使用“>”将其所有输出带到文件中。

程序从服务器获取输入并显示所有内容。我们需要所有这些信息,因此我们将所有这些输出记录到文件中。但过了一会儿,我们发现程序停止写入文件,并在程序继续运行时停在那里。

文件大小也是0字节(在文件关闭之前操作系统不会更新?)但是我们可以用notepad ++看到文件的内容,但它似乎不再更新。

大约有250,000行,我们发现我们的数据最终会被切断。例如,假设您应该有一个列出123 567 436 975的数据表,我们只看到123 567 43.最后整条线路都没有完成。

有很多东西需要写下来,并且有很多网络传输。当数据太多时,程序是否只是放弃输出?有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试禁用缓冲。 setbuf(stdout, NULL);

无论如何,在新版本的Windows中,当正在创建文件并正在编写数据时(clasic >file场景),文件的增长并不总是可见。

在这种情况下,dir命令显示0字节文件,或停止显示增加的值。

尝试使用type file >nul然后dir file来阅读该文件。这“应该”刷新文件大小信息。但它不是必需的。该文件正在增长,只是没有显示它。