当前位置:  技术问答>linux和unix

重定向输出遇到的缓冲问题

    来源: 互联网  发布时间:2016-12-29

    本文导语:  #include  int main() {     int i; #if 0    setvbuf(stdout, NULL, _IONBF, 0); #endif     for (i=0; i a.txt 然后看a.txt,有可能根本没有任何输出,有可能只有一部分输出,不太可能出现直到999的完整输出。原因当然是重定向输出的缓冲...

#include 
int main()
{
    int i;
#if 0
   setvbuf(stdout, NULL, _IONBF, 0);
#endif
    for (i=0; i a.txt
然后看a.txt,有可能根本没有任何输出,有可能只有一部分输出,不太可能出现直到999的完整输出。原因当然是重定向输出的缓冲机制。如果把代码里面的#if 0改成#if 1,设置为无缓冲,那即使a.out不结束也可以看到完整的输出。

我的问题是:如果不改代码,在存在缓冲的前提下,有没有什么其他办法在a.txt里面得到完整的包括999的所有输出文本。比如给这个进程发某种信号,甚至把它kill掉都可以。

谢谢!

|
参考一下apue中关于伪终端的部分
用伪终端的方式执行你的程序,这样对它来说就和在命令行直接启动的一样,输出是终端,那时应该是行缓冲了

|

    for (i=0; i

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 tellp():使用输出流读取流指针
  • C 如果一个字符串是空值 输出的时候如何让其输出NULL 而不是什么也不输出?
  • Python不使用print而直接输出二进制字符串
  • 如何将一个命令的输出输出到屏幕上,并且同时保存到一个文件中?
  • python异常信息堆栈输出到日志文件
  • 怎样既在屏幕上显示输出,又把输出保存到一个文件中.
  • python字符串格式化输出及相关操作代码举例
  • 怎样在使用curses字符串输出函数或字符输出函数时,隐藏光标
  • 如何ls只输出子目录名,不输出文件名??
  • 怎样可以按行输出输出二叉树?
  • 请问如何动态命名重定向输出文件名,并将内容输出到该文件?
  • 一个守护进程在里面printf想输出点东西为什么不输出?
  • 菜鸟之问题:用那个输入输出流类输出到打印机
  • 送分了:)如何将一些需要输出的东西写到ByteArrayOutputStream输出流中,如一个二维数组String[][]。
  • 在脚本中如何实现输出格式化输出
  • 怎样格式化输出:即把7输出为007?
  • 分析6410 TV输出流程, TV输出时不显示图像与大家讨论!
  • 输出重定向的问题:为什么输出到文件的东西不对?
  • oracle iis7站长之家
  • AWK 的域 输出对不齐 另命令行怎么输出TAB
  • 关于unix使用参数导致脚本输出异常(与脚本内直接带参数输出结果不同)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3