stdin,stdout和STDIN_FILENO,STDOUT_FILENO

stdin,stdout 类型为 FILE *

使用 FILE * 的函数主要有:fopen、fread、fwrite、fclose等,基本上都以 f 开头。

stdin 等属于标准 I/O,高级的输入输出函数,定义在 <stdio.h>

fileno() 函数可以用来取得 stream 指定的文件流所使用的文件描述符

printf("%d \n",fileno(stdin)); // 0

printf("%d \n",fileno(stdout)); // 1

printf("%d \n",fileno(stderr)); // 2

 

STDIN_FILENO,STDOUT_FILENO,STDERR_FILENO 类型为 int

使用 STDIN_FILENO 等的函数有:open、read、write、close等。

STDIN_FILENO 等是文件描述符,是非负整数,一般定义为0, 1, 2,直接调用系统调用,定义在 <unistd.h>

STDIN_FILENO,STDOUT_FILENO接受标准输入,输出到标准输出:

write(STDOUT_FILENO, get_data, get_size);

read(STDIN_FILENO, get_data, get_size);

 

            do
            {
                ioctl(STDOUT_FILENO, TIOCOUTQ, &count); //用于检查发送缓冲中的字节数
            } while (count != 0);
            ret = write(STDOUT_FILENO, get_data, get_size);    //

 

posted @ 2024-10-16 17:37  妖岭  阅读(15)  评论(0编辑  收藏  举报