高手帮忙写一个linux下的c语言小程序 35

刚开始用linux写代码,完全晕了,高手们帮个忙啊写一个countWords.c的程序,一、参数为-c1、打开终端shell,输入countWords-c回车2、程序运行... 刚开始用linux写代码,完全晕了,高手们帮个忙啊
写一个countWords.c的程序,
一、参数为 -c
1、打开终端shell,输入countWords -c 回车
2、程序运行了,从键盘输入字符串,回车,屏幕输出字符串 然后程序正常退出。
二,没有参数
1、打开终端shell,输入countWords 回车
2、程序运行了,从键盘输入字符串,回车,屏幕输出字符串小写格式, 然后程序正常退出。
三、非法参数,即不为-c 或参数数目不对
1、打开终端shell,输入countWords -x 回车
2、程序运行了,打印一个出错信息,然后非正常返回。

貌似就是这样了,谢谢
输入输出也可以为文件。

我觉得要使用toupper的包含ctype.h吧,
而且貌似gets函数很危险,会造成数据溢出。我已经写出来了,谢谢啊。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main(int argc,char *argv[])
{
char str1[256];
if(argc==2&&strcmp(argv[1],"-c")==0)
{
scanf("%s",str1);
puts(str1);
}
else if(argc==1)
{
scanf("%s",str1);
char str2[256];
int i;
for(i=0;i<strlen(str1);++i)
{
str2[i]=tolower(str1[i]);
}
str2[i]='\0';
puts(str2);
}
else
{
printf("ERROR");
}
}
展开
 我来答
zkwlixue
2010-04-22 · TA获得超过1026个赞
知道小有建树答主
回答量:604
采纳率:0%
帮助的人:613万
展开全部
#include<stdio.h>

int main(int argc, char ** argv)
{
int i;
char a[20];
gets(a);
if (argc==1)
{
for(i=0;i<strlen(a);i++)
{
if(a[i] > 64 && a[i] < 91)
a[i]=a[i]+32;
putchar(a[i]);
}
putchar('\n');
}
for(i=1;i<argc;i++)
{
if(!strcmp(argv[i],"-c"))
{
puts(a);
exit(0);
}
if(!strcmp(argv[i],"-x"))
{
printf("error\n");
exit(1);
}
}
}
//在GCC中编译好了就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式