Если я делаю dup
из stdout
потока (для того, чтобы использовать его позже) и сделать freopen
из stdout
потока в файл, а затем printf("data")
, файл сразу не обновляется с данными. Он обновляется только после выполнения fflush(stdout)
.стандартный вывод перенаправляет
Есть ли дополнительные побочные эффекты у fflush(stdout)
?
Есть ли еще более элегантный способ сделать это?
Редактировать: см., Например, http://stackoverflow.com/q/7145134/318716 –
Другое редактирование: см. http://stackoverflow.com/questions/2340610/difference-between-fflush-and-fsync/2340641#2340641 для 'fflush' vs' fsync '. –
Использование 'setvbuf()' с '_IOLBF' обычно является достаточным - если у вас нет очень необычных требований. –