Buffered C# output

It may happen that even if the C# programs are compiled without errors, there is no program output in the console. The reason can be that while the output of the program is being buffered it is not displayed to the end user immediately. It is difficult to say why this exactly happens, as this can be system- or compiler-specific. However, there is a simple remedy.

To unbuffer the output, you will need to flush it with

fflush();

function after the buffer is used. On the example of the Granger causality Diks-Wolski codes (you can find them here), find the first occurrence of

printf();

function and just flush it right after

printf("Input file (X): ");
fflush(stdout);

In the example above

stdout

is the standard output buffer. It is the default file descriptor where a program can write its output. The default of the standard output is the screen.