Мне недавно нужно было отладить какой-то действительно старый унаследованный код, в основном разработанный для какого-то микроконтроллера.
В этом коде все вызовы printf следуют одному и тому же соглашению:
fprintf(outfile, "\r\nFormat %d", someinteger);
fflush(outfile);
Как видите, код сначала печатает NL (а код CR был написан Win98-ветеран), затем текст.В конце он вручную сбрасывает файл (иногда stdout
, иногда обычный FILE*
).Насколько мне известно, это трудоемко, поскольку печать \n
уже сбрасывает дескриптор, поэтому следующего кода будет достаточно.
fprintf(outfile, "Format %d\r\n", someinteger);
Есть ли какая-либо причина для выбора первого фрагмента для печати текста и ручной очистки дескриптора по сравнению со вторым фрагментом, в котором значение очистки равно \n
?