C语言 fprintf()和printf()的区别
葛大工程师
2022年08月05日 20:30
收录于文集
共13篇

两个函数定义都是在stdio.h中 : 是输入输出的头文件

可以看出fprintf()中臂printf()多了第一个参数,

这个就是流.

在linux中:

0:与进程的标准输入关联; STDIN_FILENO

1:与标准输出关联; STDUOT_FILENO

2:与标准错误关联; STDERR_FIENO

printf()是fprintf()的一种特殊情况,

printf()相当于fprintf()中第一个参数赋值为stdout,就是标准输出的意思.

例如(下面两个是等效的):

fprintf(stdout, "hello world.\n");

printf("hello world.\n")

标准输出(stdout),标准错误输出(stderr) 默认都是输出到屏幕.

可以把标准输出或错误输出进行重定向.

比如:

./ fprint 2>err.txt 这个时候,错误输出就不会打印到屏幕,而是会到err.txt文件中.