LINUX.ORG.RU

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

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

Можно не показывать весь код? Опять все настроение испортят.

Гнутый cat выбрал потому, что не хотел разбираться с компиляцие, а сразу printf’ами посмотреть, что и как работает.

bsd cat скомпилился так:

gcc -o cat cat.c -lbsd

Кому интересно.

и в нем используется read(rfd…)

read - системная функции (не точно), их я использовать не хотел, потому, что мешать системные функции и высокоуровневые обертки для них «плохой тон».

я так пробовал:

#define STDIN 0

int main(int argc,char **argv)
{
    int sym;
    int count = 1;
    while((sym=getc(STDIN))!=EOF)
    {
	printf("%d %c\n", count++, sym);
    }
    return 0;
}

получил ошибку сегментации, поэтому пошел дальше пробовать прочитать символы из STDIN_FILENO функцией getc.

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

Можно не показывать весь код? Опять все настроение испортят.

Гнутый cat выбрал потому, что не хотел разбираться с компиляцие, а сразу printf’и посмотреть, что и как работает.

bsd cat скомпилился так:

gcc -o cat cat.c -lbsd

Кому интересно.

и в нем используется read(rfd…)

read - системная функции (не точно), их я использовать не хотел, потому, что мешать системные функции и высокоуровневые обертки для них «плохой тон».

я так пробовал:

#define STDIN 0

int main(int argc,char **argv)
{
    int sym;
    int count = 1;
    while((sym=getc(STDIN))!=EOF)
    {
	printf("%d %c\n", count++, sym);
    }
    return 0;
}

получил ошибку сегментации, поэтому пошел дальше пробовать прочитать символы из STDIN_FILENO функцией getc.

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

У меня 5 версий, какую из?

Гнутый cat выбрал потому, что не хотел разбираться с компиляцие, а сразу printf’и посмотреть, что и как работает.

bsd cat скомпилился так:

gcc -o cat cat.c -lbsd

Кому интересно.

и в нем используется read(rfd…)

read - системная функции (не точно), их я использовать не хотел, потому, что мешать системные функции и высокоуровневые обертки для них «плохой тон».

я так пробовал:

#define STDIN 0

int main(int argc,char **argv)
{
    int sym;
    int count = 1;
    while((sym=getc(STDIN))!=EOF)
    {
	printf("%d %c\n", count++, sym);
    }
    return 0;
}

получил ошибку сегментации, поэтому пошел дальше пробовать прочитать символы из STDIN_FILENO функцией getc.

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

У меня 5 версий, какую из?

Гнутый cat выбрал потому, что не хотел разбираться с компиляцие, а сразу printf’и посмотреть, что и как работает.

bsd скомпилилось так:

gcc -o cat cat.c -lbsd

Кому интересно.

и в нем используется read(rfd…)

read - системная функции (не точно), их я использовать не хотел, потому, что мешать системные функции и высокоуровневые обертки для них «плохой тон».

я так пробовал:

#define STDIN 0

int main(int argc,char **argv)
{
    int sym;
    int count = 1;
    while((sym=getc(STDIN))!=EOF)
    {
	printf("%d %c\n", count++, sym);
    }
    return 0;
}

получил ошибку сегментации, поэтому пошел дальше пробовать прочитать символы из STDIN_FILENO функцией getc.

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

У меня 5 версий, какую из?

Гнутый cat выбрал потому, что не хотел разбираться с компиляцие, а сразу printf’и посмотреть, что и как работает.

bsd скомпилилось так: gcc -o cat cat.c -lbsd Кому интересно.

и в нем используется read(rfd…)

read - системная функции (не точно), их я использовать не хотел, потому, что мешать системные функции и высокоуровневые обертки для них «плохой тон».

я так пробовал:

#define STDIN 0

int main(int argc,char **argv) { int sym; int count = 1; while((sym=getc(STDIN))!=EOF) { printf(«%d %c\n», count++, sym); } return 0; }

получил ошибку сегментации, поэтому пошел дальше пробовать прочитать символы из STDIN_FILENO функцией getc.