[ milan82 @ 05.05.2006. 14:14 ] @
Pozdrav ljudi,

trebam napraviti nekakvu svoju verziju cat-a na linuxu. Konkretno mi treba dio kada program ispisuje unos (standardni ulaz) na konzolu (standardni izlaz) tj. kad se unese naredba cat bez parametara.
[ cynique @ 05.05.2006. 16:03 ] @
Evo ti za dio bez parametara (za SUSv3 kompatibilne platforme):

Code:
#define _XOPEN_SOURCE   600

#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>

#define BUFSIZE 4096

int
main(void)
{
    int    n;
    char   buf[BUFSIZE];

    while ((n = read(STDIN_FILENO, buf, BUFSIZE)) > 0)
        if (write(STDOUT_FILENO, buf, n) != n)
            perror("write");

    if (n < 0)
        perror("read");

    exit(EXIT_SUCCESS);
}


Čitaš sa file desriptora za stdin (0, STDIN_FILENO, fileno(stdin)), pročitano pišeš na fd za stdout (1, STDOUT_FILENO, fileno(stdout)).

Elementary, my dear Watson.