|
| |||
|
|
Задачка про Юникс и Си Вот задача про Юникс и Си, её придумал пользователь avysk@lj, а я слегка модифицировал.Написать на Си коротенькую программу, которая при вызове через конвейер выдаёт фразу "Hello, world!\n", а при вызове с командной строки выдаёт ту же строку, но не один, а два раза. Короче, вот так: $ my_prog Hello, world! Hello, world! $ my_prog | cat - Hello, world! $ Конечно есть функция isatty, с помощью которой можно просто проверить, запущена ли программа с терминала, вот так: if(isatty(1))...else...; Поэтому дополнительное условие: этой функцией (или подобными ей) пользоваться нельзя. И вот что интересно - пользователь ilya_dogolazky@lj запостил очень похожую задачу.Похожую, да решающуюся несколько иначе, хоть и непросто найти отличия в условии.
|
|||||||||||||||