strcpy
字符串拷贝函数头文件 : #include <string.h> strcpy(char dest[], char src[]) -----string copy 功能: 把src数组中'\0'之前的所有字符,连同'\0'一起拷贝到dest中去。 要求在定义dest的时候,要足够大. 参数: @ dest 目标数组 @ src 源数组---- [数组首地址或字符串] 例如: char buf[20] = {0}; strcpy(buf,"hello"); printf("buf = %s\n",buf);
#include <stdio.h> #include <string.h> int main() { char buf[20] = {'h','e','l','l','o','\0'}; int i = 0; strcpy(buf,"QQ"); for(i = 0;i < 20;i++) { printf("%c : %d\n",buf[i],buf[i]); } printf("buf = %s\n",buf); // QQ return 0; }
执行结果:
strcat
字符串连接函数头文件: #include <string.h> strcat(char dest[], char src[]); 功能:把src数组'\0'之前的字符串追加到dest字符串后,若是dest中有'\0', 会把dest中的'\0'给覆盖掉,然后新组成的dest字符串会重新添加'\0' 参数: @ dest 目标数组 @ src 源数组 [字符数组或字符串] 例如: char buf[] = "hello"; strcat(buf," world"); //===> buf <===>"hello world"
#include <stdio.h> #include <string.h> int main() { char word[20]; char explain[20]; char sql[50]; //1.输出单词 printf("please input you select word : "); gets(word); //2.输入意思 printf("please input word explain : "); gets(explain); //3.合成一个新的数据存放到sql中 strcpy(sql,word); strcat(sql,explain); printf("%s\n",sql); return 0; }
执行结果:
strlen
字符串长度计算函数头文件: #include <string.h> int strlen(const char s[]); 功能:计算s数组中第一个'\0'前字符的个数,并返回 参数: @ 目标数组,存放字符串 返回值:返回计算的字符个数 例如: char buf[] = "hello"; int len = strlen(buf); pritnf("len = %d\n",len); // 5
#include <stdio.h> #include <string.h> // strlen int main() { char buf[100]; printf("please input string : "); scanf("%s",buf); //计算用户实际输入元素个数. printf("strlen(buf) = %d\n",strlen(buf)); //sizeof计算数据所在内存空间的大小 printf("sizeof(buf) = %d\n",sizeof(buf)); //100 return 0; }
执行结果:
strcmp
字符串比较函数#include <string.h> int strcmp(char s1[], char s2[]); 功能: 对s1和s2字符串中的每个字符逐个比较, 若是s1中某个字符>s2中的某个字符,则返回大于0的数, 若是s1中某个字符<s2中的某个字符,则返回小于0的数, 若是当前s1和s2的字符相等,则比较后一个字符。若是完全相等,返回0 参数: @ 待比较的数组s1 [字符串或字符数组] @ 待比较的数组s2 [字符串或字符数组] 返回值: 在gcc的32bit编译器下,返回如下值: 若是s1 > s2 ,返回1 若是s1 == s2, 返回0 若是s1 < s2 ,返回-1 char buf1[] = "hello"; char buf2[] = "heltt"; ret = strcmp(buf1,buf2);
#include <stdio.h> #include <string.h> // strcmp int main() { char buf1[20]; char buf2[20]; int ret = 0; printf("please input string buf1 : "); gets(buf1); printf("please input string buf2 : "); gets(buf2); ret = strcmp(buf1,buf2); printf("ret = %d\n",ret); if(ret > 0) { printf("buf1 > buf2"); }else if(ret == 0){ printf("buf1 == buf2"); }else if(ret < 0){ printf("buf1 < buf2"); } putchar('\n'); return 0; }
执行结果:
char buf[] = "I Love China"; (1)设计一个count_uppercase_character()函数,自己定义参数和返回值,要求 统计上述数组中大写字符的个数。 (2)调用自己设计的函数,并输出。
执行结果:
通过学习字符串相关操作函数,能够熟练掌握程序中的字符串操作。