Когда просто выводим "Hello world" в stdout и завершаем работу программы - тут все ясно, но если программа ПРОДОЛЖАЕТ выполняться, то получается интересный фокус:
/***** begin test.c *****/
#include <stdio.h>
int main () {
char c;
fprintf(stdout, "Hello world!\n");
c = fgetc(stdin);
return 0;
}
/***** end test.c *****/
$ make test
$ ./test
c
Hello world!
$ ./test > 1
$ ^C
$ cat 1
$
Как видим, если аварийно (по Ctrl-C) завершить работу программы, то никакого "Hello world!" в файле "1" не будет. Хотя код вывода "Hello world" отработал. Как сделать так, чтобы перенаправление в файл работало корректно, в унисон с кодом программы?
Ответ на:
комментарий
от anonymous2
Ответ на:
комментарий
от imp
Ответ на:
комментарий
от s0ldat
Ответ на:
комментарий
от Dudraug
Ответ на:
комментарий
от catap
Ответ на:
комментарий
от Dudraug
Ответ на:
комментарий
от Dudraug
Ответ на:
комментарий
от catap
Ответ на:
комментарий
от dilmah
Ответ на:
комментарий
от true_admin
Ответ на:
комментарий
от catap
Ответ на:
комментарий
от catap
Ответ на:
комментарий
от true_admin
Ответ на:
комментарий
от catap
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум кто виноват? (gcc stdio string) (2006)
- Форум Буферизация вывода на терминал (2006)
- Форум Posix Threads (2005)
- Форум Не удается вывести в терминал кириллицу (2017)
- Форум Проблемы с серверным приложением (2003)
- Форум C как задать переменную (2016)
- Форум Простейший вопрос - свои первые строчки на C. Где argv ? (2004)
- Форум функция main() в библиотеке (2010)
- Форум не получается «hello world» в Slackware 9.0 (2003)
- Форум работа с calloc в С/с++ (2003)