C语言中常用的字符串操作函数

strcpy(s1, s2);
复制字符串 s2 到字符串 s1。

 

strcat(s1, s2);
连接字符串 s2 到字符串 s1 的末尾。

 

strlen(s1);
返回字符串 s1 的长度。

 

strcmp(s1, s2);
如果 s1 和 s2 是相同的,则返回 0;如果 s1<s2 则返回小于 0;如果 s1>s2 则返回大于 0。

 

strchr(s1, ch);
返回一个指针,指向字符串 s1 中字符 ch 的第一次出现的位置。

 

strstr(s1, s2);
返回一个指针,指向字符串 s1 中字符串 s2 的第一次出现的位置。

 

strlwr(s1);

返回原字符串的小写形式。

 

strupr(s1);

返回原字符串的大写形式。

 

示例代码:

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 int main ()
 5 {
 6   char str1[12] = "Hello";
 7   char str2[12] = "World";
 8   char str3[12];
 9   int len;
10   int size;
11 
12   /* 复制str1到str3 */
13   strcpy(str3, str1);
14   printf("strcpy(str3, str1): %s\n", str3 );
15 
16   /* 比较str1和st2 */
17   printf("strcmp(str1, str2):%d\n", strcmp(str1, str2));
18 
19   /* 比较str1和st3 */
20   printf("strcmp(str1, str3):%d\n", strcmp(str1, str3));
21 
22   /* 连接str1和str2 */
23   strcat(str1, str2);
24   printf("strcat(str1, str2): %s\n", str1 );
25 
26   /* 连接后,str1的总长度 */
27   len = strlen(str1);
28   printf("strlen(str1): %d\n", len );
29   size = sizeof(str1);
30   printf("sizeof(str1): %d\n", size );
31   
32   printf("str1中的所有字符=========================\n");
33 
34   /* 输出str1中的所有字符 */
35   for (int i = 0; i < size; i++) {
36     printf("%c,", str1[i] );
37   }
38   printf("\n");
39 
40   printf("str3中的所有字符=========================\n");
41 
42   /* 输出str3中的所有字符 */
43   for (int i = 0; i < sizeof(str3); i++) {
44     printf("%c,", str3[i] );
45   }
46   printf("\n");
47 
48   printf("str2中的所有字符=========================\n");
49   
50   /* 输出str2中的所有字符 */
51   for (int i = 0; i < sizeof(str2); i++) {
52     printf("%c,", str2[i] );
53   }
54   printf("\n");
55 
56   printf("=========================\n");
57 
58   /* 输出 W 和 Wor*/
59   printf("str1[5]在str1的地址:%08X\n", &str1[5]);
60   printf("W在str1的地址:%p\n", strchr(str1, 'W'));
61   printf("Wor在str1的地址:%p\n", strstr(str1, "Wor"));
62   
63   /* 输出 W所在地址对应的内容 */
64   printf("W在str1的地址的内容:%c\n", *(strchr(str1, 'W')));
65 
66   /* 将str1转换为全大写 */
67   printf("将str1转换为全大写:%s\n", strupr(str1));
68   /* 将str1转换为全小写 */
69   printf("将str1转换为全大写:%s\n", strlwr(str1));
70 
71   return 0;
72 
73 }

运行结果:

 

源代码出自:http://www.runoob.com/cprogramming/c-strings.html,有修改。

posted @ 2018-10-29 14:02  天南星2018  阅读(634)  评论(0)    收藏  举报