C程序循环输入

时间:2014-02-20 01:03:56

标签: c

我正在为我的C编程类开发一个项目,该项目可以从键盘或文本文件中获取用户输入,然后打印出文件中每个字符的编号。 我已经设法使用stdout将其输出到控制台,但是当用户使用“-o”时很难将其输出到文件。

每当我使用BADFILENULL

时,它会一直向我./counts apple.txt ./counts apple.txt -o appleresults.txt
        if(argv[i] = "-o")
        {
            fp = fopen(argv[i+1], "w");
            if(fp == 0)
            {
                BADFILE(argv[i+1])
            }
        }
    }
}

我认为它与if(argv[i]="-o")循环有关但我似乎无法解决错误。

1 个答案:

答案 0 :(得分:2)

正如Yu Hao所说,你的字符串比较是错误的(你实际上是将值"-o"赋给argv[i]

您可能需要检查argv[i+1]是否为有效字符串。

我看不到fp的声明,但我认为它是FILE*

要将输出写入文件,请使用fputs(char* , FILE*) 最后不要忘记在完成后关闭文件。