注意FILENO()和FDOPEN()函数的作用,输入参数与返回值。
1 #include <sys/stat.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 #include <fcntl.h> 5 #include <unistd.h> 6 7 int main(void) 8 { 9 int fd; 10 FILE *stream; 11 12 printf("stdin is:\t%d\n", fileno(stdin)); 13 printf("stdout is:\t%d\n", fileno(stdout)); 14 printf("stderr is:\t%d\n",fileno(stderr)); 15 16 unlink("test.txt"); 17 fd = open("test.txt", O_CREAT | O_WRONLY, S_IREAD | S_IWRITE); 18 printf("fd file no is : %d\n",fd); 19 stream = fdopen(fd, "w"); 20 if(stream == NULL) 21 printf("fdopen failed.\n"); 22 else 23 { 24 fprintf(stream, "Hello World!\n"); 25 fclose(stream); 26 } 27 printf("the content of the test.txt is : \n"); 28 system("cat test.txt"); 29 return 0; 30 } 31 ~
输出:
[root@localhost ccode]# ./fdopen_example
stdin is: 0
stdout is: 1
stderr is: 2
fd file no is : 3
the content of the test.txt is :
Hello World!
时间: 2024-07-29 07:01:57