c - Unix cat -n 命令实现

标签 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);
    }
}   

最佳答案

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

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

if(s == '00')

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

关于c - Unix cat -n 命令实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17902010/

相关文章:

c - 使用 ld 实用程序与 dlfcn API 进行动态链接的优点是什么?

linux - 在 Bash 中将文本文件作为命令运行

c - 带有信号量卡住的 Linux 内核线程

c - 虚拟环境内存泄漏怎么办?

linux - 如何修改实时文件流

c - pthread和select()函数的作用是什么?

c - 当 argv*[] 是一个字符串时,如何通过 c 中的命令行传递数组?

linux - 使用 Bash 关闭 Windows 网络

c - 变量神秘地变化

c - 如何将我的 iSCSIinitiator 连接到 Windows 中的 scsi 子系统