以下是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”。

此示例仅用于演示目的。在实际应用程序中,您可能需要进行更多的错误检查和处理,例如检查文件是否成功打开

C代码重写printf将输出写入指定文件

原文地址: https://www.cveoy.top/t/topic/coVH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录