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); //
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~