常见的文件描述符类型
一个进程启动时,会默认打开三个文件–标准输入、标准输出和标准出错处理。
0:表示标准输入,对应宏为:STDIN_FILENO,函数 scanf() 使用的是标准输入
1:表示标准输出,对应宏为:STDOUT_FILENO, 函数 printf() 使用的是标准输出
2:表示标准出错处理,对应的宏为:STDERR_NO
使用上面的文件描述符时,可以写数字,也可以写相对应的宏
示例代码:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include<stdio.h>
#include <unistd.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int fd; //文件描述符
char readBuf[128];
int n_read = read(0,readBuf,5); //0为标准输入键盘
int n_write = write(1,readBuf,strlen(readBuf)); //1为标准输出
printf("\ndone!\n");
return 0;
}
运行的结果: