基础IO -- 标准错误输出stderr
目录
1)为什么要有 fd 为 2 的 stderr
2)使2和1重定向到一个文件中
这里我们谈一下以前只是了解过的stderr
通过两段代码,显然,我们可以知道两个FILE*都是指向显示器的
对于重定向,只有stdout才会将打印的数据重定向到log.txt中
> : 全称叫做标准输出重定向
因此只会更改1号fd(即stdout)里面的内容,而2号fd依旧往显示器里面打印
1)为什么要有 fd 为 2 的 stderr
平时在写程序的时候,我们输出的消息有两类信息
一类是正确的,一类是错误的
这时候我们只需要将这些信息重定向,就可以将两类信息区分开来了
这样就能清楚的知道我的代码在运行过程中都犯了哪些错误!
这样操作就能使正确消息和错误消息分开并重定向到不同的文件中
2)使2和1重定向到一个文件中
上面就是正确消息和错误消息写到了一起
解释:
perror就是一个往stderr里面输出的函数
C++也是一样的: