Первое, что вам нужно выучить, - это использовать printf
запись в FILE *
с именем stdout
.
Второе, что вам нужно узнать, это то, что FILE *
либо буферизован, либо небуферизован. Буферизация означает, что вывод, который вы записываете (например, printf
), сохраняется в некоторой внутренней памяти до того, как он будет фактически записан в терминал.
По умолчанию, когда stdout
подключен к обычному терминалу или консоли, тогда stdout
является буферизованной линией . Строковая буферизация означает, что содержимое буферов записывается на новой строке. Но если stdout
подключен к каналу (что характерно для IDE, использующей собственную обработку вывода), тогда stdout
становится полностью буферизованным. Затем вывод записывается только в том случае, если буфер заполнен или вы явно очищаете его (например, fflush(stdout)
).
В этом случае кажется, что вы работаете с такой IDE, которая превращает stdout
в полную буферизацию.