* 字符串处理函数需要引用<string.h>
* strcpy():字符串拷贝(复制)
* strlen:求字符串的长度
* strcat:字符串连结.;例如("abc","xyz")->"abcxyz"
* strcmp:字符串比较
* strstr:字符串查找.例如("ababcabcdabcde","abcd")->
*
* 字符处理函数,需要引用 ctype.h
* isdigit:判断是否为数字字符
* isxdigit:判断是否为十六进制数字字符
* isalpha:判断是否为字母字符
* islower:判断是否为小写字母
* isupper:判断是否为大写字母
* tolower:转小写字母
* toupper:转大写
*/
//字符串函数的使用
int main()
{
char str1[] = "abc";
char str2[] = "xyz";
char str3[10];
//把str1复制到str3,相当与str3 = str1;
//strcpy(str3,str1);
//把str2复制到str1中
//strcpy(str1,str2);
//printf("%s\n",str1);
//把str2的内容添加到str1的后面,相当于str1+=str2
//strcat(str1,str2);
//printf("%s\n", str1);
//把str1+str2(连结) 存放到str3中
//strcpy(str3,str1);
//strcat(str3,str2);
//printf("%s\n",str3);//"abcxyz"
//比较str1和str2的大小
/*int n = strcmp(str1,str2);
if (n < 0)
printf("%s<%s\n", str1, str2);
else if (n == 0)
printf("%s==%s\n", str1, str2);
else
printf("%s>%s\n",str1,str2);*/
const char *p = strstr("ababcabcdabcde","abcd");
printf("%s\n",p);
return 0;
}
//1.字符串连接,例如给定两个字符串 "abc"和"xyz"
//最后把两个字符串连接在一起,输出"abcxyz".
//int main()
//{
// char str1[10] = "abc";
// char str2[] = "xyz";
// //找到str1的末尾
// int i;
// for (i = 0; str1[i] != '\0'; i++) //sizeof(str1)不可以,strlen(str1)可以
// ;//空语句
// //把str2复制到str1末尾
// for (int j = 0; str2[j] != '\0'; j++)
// {
// str1[i] = str2[j];
// i++;
// }
// str1[i] = '\0';
// printf("%s\n",str1);
//
// return 0;
//}
//2.字符串比较,比较两个字符串的大小,字符串的大小按照字典序定义
//例如"abc"<"x" ;"abc"=="abc";"abc">"abb".
//int main()
//{
// char str1[100];
// char str2[100];
// scanf("%s %s",&str1,&str2);
// int i;
// for (i = 0; str1[i] != '\0' && str2[i] != '\0'; i++)
// {
// if (str1[i] > str2[i])
// {
// printf("%s > %s\n",str1,str2);
// return 0;
// }
// else if (str1[i] < str2[i])
// {
// printf("%s < %s\n",str1,str2);
// return 0;
// }
// }
// if (str1[i] > str2[i])
// printf("%s > %s\n", str1, str2);
// else if(str1[i] < str2[i])
// printf("%s < %s\n", str1, str2);
// else
// printf("%s == %s\n", str1, str2);
//
// return 0;
//}
//3.字符串转数字,把字符串转成对应的数字,转换过程中如果遇到非数字
//字符则转换结束.例如"1234"转换为1234;"a1234"转换为0,
//"12a34"转换为12.
//一位数字字符转数字=ch-'0',例如'8'-'0'==8 ,注意 '12'-'0' 错误的
//一位数字转数字字符=n+'0' 例如 8+'0'=='8',注意 12+'0'=="12"错误的
//int main()
//{
// char str[100];
// scanf("%s",&str);
// int tmp = 0;//保存得到的数字
// for (int i = 0; isdigit(str[i]); i++)//"1234"
// {
// tmp = tmp*10 + (str[i] - '0');//'1'-'0'==1,'2'-'0'==2,...,'9'-'0'=9
// }
// printf("%d\n",tmp);
//
// return 0;
//}
4.数字转字符串,把数字转成对应的字符串,例如1234转换为"1234".
//int main()
//{
// char str[100];
// int i = 0;//str1下标
// int n;
// scanf("%d",&n);
// //1234->"4321"
// while (n != 0)
// {
// str[i] = n % 10+'0';
// n /= 10;
// i++;
// }
// str[i] = '\0';
// //"4321"->"1234"
// int j;
// char tmp;
// for (j = 0, --i; j < i; j++, i--)
// {
// tmp = str[j];
// str[j] = str[i];
// str[i] = tmp;
// }
// printf("str=%s\n", str);
// return 0;
//}
//5.实现字符串反转.例如"abc"->"cba";"abcd"->"dcba"
//int main()
//{
// char str[100];
// scanf("%s",&str);//"abc"->3
// int len = strlen(str);//求字符串的长度
// char tmp;
// for (int i = 0, j = len-1; i < j; i++, j--)
// {
// tmp = str[i];
// str[i] = str[j];
// str[j] = tmp;
// }
// printf("%s\n",str);
//
// return 0;
//}