文件IO详解---标准输入标准输出和标准错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件IO详解---标准输入标准输出和标准错误相关的知识,希望对你有一定的参考价值。

    每个进程都会默认打开3个文件描述符,即0、1、2。其中0代表标准输入流、1代表标准输出流、2代表标准错误流。通常标准输入流对应着键盘的设备文件、标准输出流和错误流对应着显示器的设备文件。在编程中通常使用宏STDIN_FILENO、STDOUT_FILENO和STDERR_FILENO分别来代表0,1,2。
 
要注意一点:
    0、1、2这三个文件描述符对应的是标准输入流、标准输出流和标准错误流而不是键盘设备文件和显示器设备文件。只是默认标准输入流对应着键盘设备文件,标准输出和错误对应着显示器设备文件。
    而一些C库提供的标准IO函数,这些函数操作的是文件描述符,是标准输入流、输出流或者错误流,而不是键盘的设备文件和显示器的设备文件。如果改变了标准输出流和显示器设备文件之间的对应关系,那么可能结果就不会在显示器上。这种情况出现在命令行中使用重定向符号的时候,标准输入、标准输出和标准错误对应的就不是键盘设备文件和显示器设备文件,而是指定的某个普通的文件。

 

以上是关于文件IO详解---标准输入标准输出和标准错误的主要内容,如果未能解决你的问题,请参考以下文章

linux 标准输入输出的详解

I/O重定向详解

标准IO和重定向

标准io和管道

关于标准输入,标准输出,标准错误

shell脚本中常见的标准输入标准输出标准错误重定向详解