近日读到unix环境高级编程中第十15章协作进程一结,不理解figure15.18父进程和子进程使用了不同的输入输出表示方式,帮google之
STDIN_FILENO是系统调用所使用的,是属于系统API接口库,是一个int型的数字,如果要使用它,需要使用open, close, read, close这些底程调用,而fopen, fclose, fscanf, fread, fwrite这些函数则处理的是FILE*类型的文件指针, 而stdin就是一种FILE*, 一般对应键盘标准输入设备, 属于标准I/O
stdin在stdio.h中定义
STDIN_FILENO是在unistd.h中定义
也就是说,两者调用的层级不一样