C代码重写printf将输出写入指定文件
以下是C代码重写printf,将输出写入指定文件的示例代码:
#include <stdio.h>
int myprintf(const char* format, ...) {
FILE* fp = fopen("output.txt", "a"); // 打开文件,以追加模式写入
if (fp == NULL) {
return -1; // 文件打开失败
}
va_list arg_list;
va_start(arg_list, format);
int result = vfprintf(fp, format, arg_list); // 将参数格式化输出到文件
va_end(arg_list);
fclose(fp); // 关闭文件
return result; // 返回输出字符数
}
int main() {
int age = 20;
float height = 1.75;
myprintf("My age is %d and my height is %.2f meters.\n", age, height);
return 0;
}
在上面的代码中,我们定义了一个名为myprintf的函数,它接受与标准printf函数相同的参数列表,并将输出写入名为“output.txt”的文件中。我们使用vfprintf函数将参数格式化输出到文件中,并在完成后关闭文件。
在主函数中,我们使用myprintf函数输出一条包含年龄和身高的消息,并将它们作为参数传递给myprintf函数。
请注意,我们使用文件模式“a”来打开文件,以便在每次调用myprintf时将输出追加到现有文件中。如果您想覆盖文件中的现有内容,请使用模式“w”而不是模式“a”。
此示例仅用于演示目的。在实际应用程序中,您可能需要进行更多的错误检查和处理,例如检查文件是否成功打开
原文地址: https://www.cveoy.top/t/topic/coVH 著作权归作者所有。请勿转载和采集!