Unix cat -n命令实现

时间:2013-07-27 20:11:17

标签: c unix command

如何在程序实现中包含cat -n命令 这是我的程序的问题,我不能让它在每行后打印一个新的行号,所以任何建议我可以做些什么来纠正这个

if(argv[1] == "-n")
{
    fd = open(argv[i],O_RDONLY);
    printf("%d\t",line);
    while(n = read(fd,&s,1) > 0)
    {
        if(s == '00')
        {
            line++;
            printf("\n%d\t",line);
        }   
        printf("%c",s);
    }
}   

1 个答案:

答案 0 :(得分:1)

while (n = read(fd,&s,1) > 0)

缺少括号。 >的优先级高于=

if(s == '00')

这不是您检测行尾的方式。在类似unix的系统中,行尾通常是'\n'个字符。