用shell脚本和c语言将大写字母转成小写的代码
用shell脚本和c语言将大写字母转成小写的代码
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/bin/bash#name:upper_to_lower.sh#thefunctionistrunupertolow...

复制代码 代码如下:

#!/bin/bash

#name: upper_to_lower.sh

#the function is trun uper to lower

#like ABCd to abcd

haveuppernumber()

{

#test if the string have upper number

str="$(echo $1 | tr '[:upper:]' '[:lower:]')"

if [ "$str" != $1 ] ; then #get some problem

echo "[#have upper number,and i well trun them to lower:#]"

return 1 #have upper number

else

return 0 #no upper number

fi

}

if [ $# -ne 1 ] ; then

echo "Usage: $0 <string>" >&2

exit 1

fi

if ! haveuppernumber $1 ; then #when if is 0 it run?

#if [ 0 ] ; then #in shell true return 0 ,false return 1

echo $1 | tr '[:upper:]' '[:lower:]' #it can turn the UPPER number to lower

# echo $1 | tr '[:lower:]' '[:upper:]' #it can turn the lower number to UPPER

else

echo "[#no upper number:#]"

echo $1

fi

exit 0

功能说明:当输入”./upper_to_lower.sh AaBbCcdd“时会先判断输入格式是否正确,然后判断字符串中是否有大写字母如果有显示"[#have upper number,and i well trun them to lower:#]"和转换成小写字母后的字符串;如果没有大写字母显示"[#no upper number:#]"和小写字符串。

用shell脚本和c语言将大写字母转成小写的代码1

然后又试着用c语言实现相同的功能,如下:

复制代码 代码如下:

#include<stdio.h>

#include<stdlib.h>

int haveuppernumber(char *p)

{

char*q=p;

for(;*q!='';q++)

{

if(*q>='A'&&*q<='Z')

{

printf("[#have upper number and i will turn them to lower #]n");

return 1;

}

}

printf("[#no upper number#]n");

return 0;

}

void turntolower(char *p)

{

for(;*p != '';p++)

{

if(*p>='A' && *p<='Z')

{

*p+=' ';

}

}

}

int main(int argc , char *argv[])

{

char *p;

p=argv[1];

if(argc != 2)

{

printf("Usage : %s <string>n",argv[0]);

exit(-1);

}

if(haveuppernumber(p))

{

turntolower(p);

printf("%sn",argv[1]);

}

else

{

printf("%sn",argv[1]);

}

return 0;

}

用shell脚本和c语言将大写字母转成小写的代码2

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新linuxshell学习
热门linuxshell学习
脚本专栏子分类