以下是一个示例代码,它重写了printf函数,将输出内容写入指定的文件中:

#include <stdio.h>
#include <stdarg.h>

void my_printf(FILE *fp, const char *format, ...) {
    va_list args;
    va_start(args, format);
    char buffer[1024];
    vsnprintf(buffer, sizeof(buffer), format, args);
    va_end(args);
    fputs(buffer, fp);
}

int main() {
    FILE *fp = fopen("output.txt", "w");
    my_printf(fp, "Hello, world!\n");
    my_printf(fp, "The answer is %d.\n", 42);
    fclose(fp);
    return 0;
}

在上面的代码中,我们定义了一个自定义的my_printf函数,它接受一个文件指针和一个格式字符串(以及其他参数),并使用vsnprintf函数将格式化后的字符串写入到一个缓冲区中。然后,我们使用fputs函数将缓冲区中的内容写入到指定的文件中。

使用这种方法,我们可以在不使用vfprintf的情况下将输出内容写入到指定的文件中

C代码重写printf将输出内容写入到指定文件中要求不使用vfprintf

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

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