dimrub: (Default)
2008-03-08 11:47 pm
Entry tags:

Задачка про Юникс и Си

Вот задача про Юникс и Си, её придумал пользователь [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 запостил очень похожую задачу.
Похожую, да решающуюся несколько иначе, хоть и непросто найти отличия в условии.




dimrub: (Default)
2008-02-27 10:32 am
Entry tags:

С++

С++ - это мистический культ с бесконечным числом кругов посвящения. Вот сегодня, например, мы выяснили, что при определении у класса конструктора, компилятор все равно генерирует дефолтный копи-констрактор.
dimrub: (Default)
2008-01-23 05:48 pm
Entry tags:

Real World Haskell - beta

Интересная модель публикации книги - с выкладыванием на сеть, и с онлайновым сбором комментариев. И тема интересная: книг про Хаскель - раз-два и обчелся, и во всех них чего-то не хватает.

ссылка от <lj user=314159265>