int main ( )
{
char C[] = "Hello World";
write(0,C,sizeof(C));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在上面的程序中,我写的是文件描述符ZERO,我认为默认情况下是STDIN ..那我为什么要在STDOUT输出?
shadyabhi@shadyabhi-desktop:~$ ./a.out
Hello Worldshadyabhi@shadyabhi-desktop:~$
Run Code Online (Sandbox Code Playgroud)
标准输入用于读取,而不是写入.写入标准输入(或从标准输出读取)时发生的情况未指定.这里,标准输入和标准输出都指向应用程序运行的伪终端,终端仿真器没有注意使'0'描述符"只读".因此,内核不会阻止写入标准输入,并且它会像写入标准输出一样进入伪终端.
为了便于携带,您不应该依赖这种行为.
| 归档时间: |
|
| 查看次数: |
577 次 |
| 最近记录: |