dimrub: (Default)
[personal profile] dimrub
Вот задача про Юникс и Си, её придумал пользователь [livejournal.com profile] avysk, а я слегка модифицировал.

Написать на Си коротенькую программу, которая при вызове через конвейер выдаёт фразу "Hello, world!\n", а при вызове с командной строки выдаёт ту же строку, но не один, а два раза.
Короче, вот так:

$ my_prog
Hello, world!
Hello, world!
$ my_prog | cat -
Hello, world!
$

Конечно есть функция isatty, с помощью которой можно просто проверить, запущена ли программа с терминала, вот так:
if(isatty(1))...else...;
Поэтому дополнительное условие: этой функцией (или подобными ей) пользоваться нельзя.

И вот что интересно - пользователь [livejournal.com profile] ilya_dogolazky запостил очень похожую задачу.
Похожую, да решающуюся несколько иначе, хоть и непросто найти отличия в условии.




on 2008-03-08 11:08 pm (UTC)
Posted by [identity profile] ex-ex-zhuzh.livejournal.com
почему — понятно, время позднее, соображаю плохо.
а какую — не скажу из соображений симметрии ;)

on 2008-03-08 11:11 pm (UTC)
Posted by [identity profile] ilya-dogolazky.livejournal.com
В таком случае подсказка (но только к той, которая не решена!) --- «утро вечера мудреннее» :-)

on 2008-03-08 11:25 pm (UTC)
Posted by [identity profile] ex-ex-zhuzh.livejournal.com
на самом деле почти получилось, только один лишний перевод строки мешает, не могу избавиться.

on 2008-03-08 11:38 pm (UTC)
Posted by [identity profile] ilya-dogolazky.livejournal.com
Видать у Вас решение совсем не такое как имелось в виду :-)

on 2008-03-08 11:52 pm (UTC)
Posted by [identity profile] ex-ex-zhuzh.livejournal.com
скорее всего
(deleted comment)
(deleted comment)

on 2008-03-09 01:07 am (UTC)
Posted by [identity profile] ex-ex-zhuzh.livejournal.com
затер

Profile

dimrub: (Default)
Adventures of a somewhat curious character

September 2013

S M T W T F S
12 345 67
891011121314
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 25th, 2025 06:53 am
Powered by Dreamwidth Studios