我有一个函数需要能够写入标准输出或文件,这取决于用户想要什么。它默认为标准输出。为此,我正在执行以下操作(减去错误检查等):
FILE* out;
if (writeToFile) { /*Code to open file*/; }
else
out = stdout;
// ...rest of the function goes here
if (out != stdout)
fclose(out);
这当然可以,但我不知道它的便携性。如果不是,和/或它还有另一个问题,我应该怎么做?