Mam funkcję, która musi być w stanie zapisać do stdout lub do pliku, w zależności od tego, co użytkownik chce. Domyślnie jest to standardowe wyjście. Aby to osiągnąć, robię następujący (minus sprawdzanie błędów itp):Czy ustawienie PLIKU * jest równe przenośnemu stdout?
FILE* out;
if (writeToFile) { /*Code to open file*/; }
else
out = stdout;
// ...rest of the function goes here
if (out != stdout)
fclose(out);
To na pewno załatwia sprawę, ale nie mam pojęcia, jak to jest przenośny. A jeśli tak nie jest i/lub jest inny problem z tym, jak mam to zrobić?