我正在为我的C编程类开发一个项目,该项目可以从键盘或文本文件中获取用户输入,然后打印出文件中每个字符的编号。 我已经设法使用stdout将其输出到控制台,但是当用户使用“-o”时很难将其输出到文件。
每当我使用BADFILE
或NULL
./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")
循环有关但我似乎无法解决错误。
答案 0 :(得分:2)
正如Yu Hao所说,你的字符串比较是错误的(你实际上是将值"-o"
赋给argv[i]
)
您可能需要检查argv[i+1]
是否为有效字符串。
我看不到fp
的声明,但我认为它是FILE*
。
要将输出写入文件,请使用fputs(char* , FILE*)
最后不要忘记在完成后关闭文件。