Ты ошибаешься, printf не выдаёт никакого терминирующего символа. Ты можешь делать вывод либо по получению, скажем \n, либо по заполнению буфера. В любом случае для немедленного вывода есть fflush()
Это моё личное предвзятое мнение. Любое совпадение с реальностью является случайным и непреднамеренным.