fprintf()中的stderr解析

首先在test.c中输入如下的代码

 
  1. void main()

  2.  
  3. {

  4.  
  5. fprintf(stderr,"stderr!");

  6.  
  7. fprintf(stdout,"stdout!");

  8.  
  9. printf("printf!");

  10.  
  11. }

启动cmd,进入到当前目录下(目录从c:到d:方法:cd :d)

上面程序编译成.exe文件,使用命令:cl test.c

直接执行.exe输出stderr!stdout!printf!

若将输入重定向到一个temp.txt文件中,运行:test>temp.txt 结果如下:

stderr!

查看temp.txt文件内容为:

stdout!printf!

说明:

stdout -- 标准输出设备(printf("..")) 同 stdout。

stderr -- 标准错误输出设备 两者默认向屏幕输出。

但如果用转向标准输出到磁盘文件,则可看出两者区别。stdout输出到磁盘文件,stderr在屏幕。

strerr是作为程序运行过程中的错误显示出来的,若想将它重写向到某文件中,需要运行如下命令:

test 2>temp.txt

这样运行结果就为:

stdout!printf!

查看temp.txt文件的内容是:

stderr!

猜你喜欢

转载自blog.csdn.net/qq_41598072/article/details/81508617