fopen,fprintf,fclose的单线程?

ves*_*len -4 c linux printf fopen fclose

我将一些非常临时的调试打印放到各种用户空间程序中,以确定哪些代码在嵌入式Linux设备上运行,我希望这些打印文件写入文件而不会让它打开.为了使调试在各种程序之间更容易移植,最好有一个可以打开文件,写入文件并关闭它而不必在别处定义函数/宏的单行程序.我可以这样做:

{ FILE *f = fopen("filename", "a"); if (f) { fprintf(f, "DEBUG MSG\n"); fclose(f); } else printf("File open error!\n"); }
Run Code Online (Sandbox Code Playgroud)

这只是删除空格:

{
    FILE *f = fopen("filename", "a");
    if (f) {
        fprintf(f, "DEBUG MSG\n");
        fclose(f);
    }
    else
        printf("File open error!\n");
}
Run Code Online (Sandbox Code Playgroud)

但这感觉不必要复杂.有没有更简单的方法来做到这一点?同样,我不是在谈论使它成为一个函数,因为我希望它可以在不同的程序之间进行复制/粘贴而不必每次都定义一个函数.它基本上是用户空间的临时printk等价物.

dim*_*im8 5


Functions.


额外的字符,我最简短的答案.