Physicaloser
2017-02-08 14:24关于C语言命令行参数的问题
题目要求编写一个程序读取输入,直至读到文件结尾。当命令行参数为 -u 时把输入装换成大写, 为 -l 时转化为小写,没有命令行参数时原样打印。
我的代码如下
#include
#include
#include
#define SIZE 80
#define LIM 10
int main(int argc, char * argv[])
{
int col;
int i;
int row = 0;
char str[LIM][SIZE];
while (row < LIM && fgets(str[row], SIZE, stdin) != NULL)
{
if (!strcmp(argv[1], "-u"))
for (col = 0; str[row][col] != '\0'; col++)
str[row][col] = toupper(str[row][col]);
else if (!strcmp(argv[1], "-l"))
for (col = 0; str[row][col] != '\0'; col++)
str[row][col] = tolower(str[row][col]);
row++;
}
for (i = 0; i < row; i++)
fputs(str[i], stdout);
return 0;
}
在cmd命令行里运行时,当参数为-u -l时均正常转换。当没有参数时直接报错提示中止程序。
求教各位,多谢了!
- 点赞
- 回答
- 收藏
- 复制链接分享
3条回答
为你推荐
- VS2019 C语言怎么进行带有参数的调试
- c语言
- github
- c++
- git
- ide
- 1个回答
- C语言如何提取命令行输入的字符串中的整数,并传递到自定义函数?
- c语言
- 2个回答
- sys.argv[1]报错;命令行参数
- list
- c语言
- c++
- python
- 1个回答
- 将所有传入的参数全部打印出来 ?
- c语言
- 1个回答
- c编写一个通过命令行运行的程序计算幂,可是不论参数输入什么,都是输出的这个结果,请问我哪里写错了?
- c语言
- 3个回答
换一换