📅  最后修改于: 2023-12-03 15:38:34.785000             🧑  作者: Mango
在 C 语言中,printf() 是一个常用的输出函数,其默认输出内容为字符串。但是有时候你需要在 main() 函数中更改 printf() 的输出,这篇文章将介绍两种方法实现这个目标。
sprintf() 是一个将格式化字符串写入数组的函数。因此,通过使用 sprintf() 将所需输出存储在一个字符串数组中,然后再通过 printf() 输出该数组,就可以更改 printf() 的输出了。
下面是一个示例程序,使用 sprintf() 将一个整数转换为字符串并输出:
#include <stdio.h>
#include <string.h>
int main()
{
int num = 10;
char str[20];
sprintf(str, "The number is %d.", num); // 使用 sprintf() 输出字符串到 str 数组
printf("%s\n", str); // 输出 str 数组
return 0;
}
除了 stdout(标准输出流),printf() 还可以向其他输出流输出数据。因此,使用 fprintf() 将数据输出到一个不同的流,就可以更改 printf() 的输出。
下面是一个示例程序,使用 fprintf() 将数据输出到一个文件中:
#include <stdio.h>
int main()
{
int num = 10;
FILE *file = fopen("output.txt", "w"); // 打开文件
fprintf(file, "The number is %d.", num); // 使用 fprintf() 将数据输出到文件中
fclose(file); // 关闭文件
return 0;
}
以上是两种在 main() 中更改 printf() 输出的方法,根据不同的需求选择不同的方法即可。