fprintf
和 printf
是 C 语言中用于格式化输出的函数,主要区别在于输出的目标不同。
1. printf
-
功能: 将格式化字符串输出到标准输出设备(通常是屏幕)。
-
原型:
int printf(const char *format, ...);
-
示例:
printf("Hello, World!\n");
这行代码会在屏幕上显示 "Hello, World!"。
2. fprintf
-
功能: 将格式化字符串输出到指定的文件流(如文件或标准输出)。
-
原型:
int fprintf(FILE *stream, const char *format, ...);
-
示例:
FILE *file = fopen("output.txt", "w"); fprintf(file, "Hello, File!\n"); fclose(file);
这行代码会将 "Hello, File!" 写入到
output.txt
文件中。
主要区别
-
输出目标:
-
printf
输出到标准输出(通常是屏幕)。 -
fprintf
输出到指定的文件流(可以是文件、标准输出、标准错误等)。
-
-
灵活性:
-
fprintf
更灵活,可以输出到任意文件流。 -
printf
只能输出到标准输出。
-
总结
-
使用
printf
时,输出直接显示在屏幕上。 -
使用
fprintf
时,可以指定输出到文件或其他流(如stdout
或stderr
)。
例如,将 fprintf
的输出定向到标准输出时,效果与 printf
相同:
fprintf(stdout, "Hello, World!\n");
这行代码与 printf("Hello, World!\n");
效果一致。