LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

1. stderr не буферизируется, а выводится сразу, тут я думаю все понятно, иногда если ты уже испортил всю память и стек, printf у тебя работать не будет, сброс буфера не совершится, а fprintf stderr имеет шансы на успех.

#include <stdio.h>

int main()
{
	fprintf(stdout, "stdout");
	fprintf(stderr, "stderr");
	for (;;);
}
$ ./a.out 
stderr^C

2. сообщения из stderr видны даже если ты перенаправил stdout в файл, как бонус в итоговом файле у тебя не будут мешаться данные и сообщения, на stdout может подаваться картинка, если вывести в середину что то в stdout то она поломается.

3. если используешь SDL, то можешь изучить эту страницу https://wiki.libsdl.org/SDL2/CategoryLog

Исправление MOPKOBKA, :

1. stderr не буферизируется, а выводится сразу, тут я думаю все понятно, иногда если ты уже испортил всю память и стек, printf у тебя работать не будет, сброс буфера не совершится, а fprintf stderr имеет шансы на успех.

#include <stdio.h>

int main()
{
	fprintf(stdout, "stdout");
	fprintf(stderr, "stderr");
	for (;;);
}
$ ./a.out 
stderr^C

2. сообщения из stderr видны даже если ты перенаправил stdout в файл, как бонус в итоговом файле у тебя не будут мешаться данные и сообщения, на stdout может подаваться картинка, если вывести в середину что то в stdout то она поломается.

Исходная версия MOPKOBKA, :

1. stderr не буферизируется, а выводится сразу:

#include <stdio.h>

int main()
{
	fprintf(stdout, "stdout");
	fprintf(stderr, "stderr");
	for (;;);
}
$ ./a.out 
stderr^C

2. сообщения из stderr видны даже если ты перенаправил stdout в файл, как бонус в итоговом файле у тебя не будут мешаться данные и сообщения, на stdout может подаваться картинка, если вывести в середину что то в stdout то она поломается.