Tengo una función que necesita poder escribir en stdout o en un archivo, dependiendo de lo que el usuario desee. Sin embargo, por defecto es estándar. Para lograr esto, estoy haciendo lo siguiente (menos la comprobación de errores, etc):¿Está configurando un FILE * igual a stdout portable?
FILE* out;
if (writeToFile) { /*Code to open file*/; }
else
out = stdout;
// ...rest of the function goes here
if (out != stdout)
fclose(out);
Esto sin duda hace el truco, pero no tengo ni idea de lo que es portátil. Y si no es así, y/o hay otro problema con él, ¿cómo debería hacerlo?