Имеется такая вот функция: Код (Text): #include <stdio.h> char b[1024]; int main () { printf("_%d_ ", b[0]); memset (b, 0, sizeof (b)); read (0, b); printf("%s", b); return 0; } И такой вот пример работы: Код (Text): bash-3.00# ./a.out blablabla _0_ blablabla bash-3.00# Почему read опережает первый printf?
OK спасибо. http://www.opennet.ru/docs/RUS/libc/libc-3.html Функции вывода stdio могут буферизировать вывод, для минимизации количества лишних системных вызовов. Т.е. для надёжности между каждым printf - read, надо втавлять fflush?
Да, делать fflush( stdout ); после всех printf() когда нужно, что бы данные гарантированно выводились на консоль.