如何实现' cat'的挤压功能用c命令?

时间:2014-03-28 15:31:17

标签: c cat getopt

以下是我的计划中尝试实施“挤压”的一部分。或者' -s' ' cat'命令使用c。现在主函数使用argv和argc,它们使用getopt函数进行分析。' squeeze'函数在main和' stdin中被调用。和' stdout'作为参数传递。 getopt函数的返回类型也在writeLineNumbers中传递。我只是想知道这是否是正确的方法呢?

void squeeze ( FILE *fin, FILE *fout, int writeLineNumbers)
{
    char line[len];
    //int linenumber=1;

    while (fgets(line,len,fin))
    {
        if(line==NULL)
            fin--=fin;
        if (fputs(line, fout)==EOF)
        {
            printf(stderr,"Write to stdout failed.");
            return;
        }
       // ++linenumber;
    }

}

1 个答案:

答案 0 :(得分:0)

试试这个:

   void squeeze (FILE *fin, FILE *fout, int writeLineNumbers)
    {
    char line[len] = {0};

    while (fgets(line, len, fin))
    {
        if(strlen(line) != 0)
        {
          if (fputs(line, fout) == EOF)
          {
            printf(stderr,"Write to stdout failed.");
            return;
        }
    }
}