小编Hei*_*oom的帖子

用逗号返回语句

这是cat用 C 编写的流行 bash 命令。

我不知道这条线是做什么的:

if (argc==1) return cat(stdin), 0;
Run Code Online (Sandbox Code Playgroud)

我以前从未见过类似的东西。这是完整的代码:

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

static void cat(FILE *f)
{
        int     c;

        while (EOF != (c = getc(f)))
        {
                if (EOF == putchar(c))
                {
                        perror("cat");
                        return;
                }
        }
        if (ferror(f))
        {
                perror("cat");
                return;
        }
}

int main(int argc, char **argv)
{
        if (argc==1) return cat(stdin), 0;
        for(int i=1; i<argc; i++)
        {
                if (!strcmp("-", argv[i]))
                {
                        cat(stdin);
                        continue;
                }
                FILE *f = fopen(argv[i], "r");
                if (!f) …
Run Code Online (Sandbox Code Playgroud)

c linux return cat

2
推荐指数
1
解决办法
60
查看次数

标签 统计

c ×1

cat ×1

linux ×1

return ×1