### c语言字符串操作大全 #### 一、stpcpy - 拷贝一个字符串到另一个 `stpcpy`函数用于复制源字符串到目标字符串,它不仅执行字符串复制,还会返回指向目标字符串末尾的指针,即最后一个被复制字符后的下一个位置。这在某些情况下比`strcpy`更方便,因为后者只返回目标字符串的起始地址。 **用法:** ```c char* stpcpy(char* destin, char* source); ``` **示例代码:** ```c #include<stdio.h> #include<string.h> int main(void) { char string[10]; char* str1 = "abcdefghi"; stpcpy(string, str1); printf("%s\n", string); return 0; } ``` #### 二、strcat - 字符串拼接函数 `strcat`函数用于将一个字符串连接到另一个字符串的末尾,修改目标字符串并添加源字符串,不包含源字符串的终止符。 **用法:** ```c char* strcat(char* destin, char* source); ``` **示例代码:** ```c #include<string.h> #include<stdio.h> int main(void) { char destination[25]; char* blank = "", *c = "C++", *Borland = "Borland"; strcpy(destination, Borland); strcat(destination, blank); strcat(destination, c); printf("%s\n", destination); return 0; } ``` #### 三、strchr - 查找字符 `strchr`函数在给定的字符串中搜索指定的字符,并返回指向该字符的第一个出现位置的指针,如果未找到,则返回NULL。 **用法:** ```c char* strchr(char* str, char c); ``` **示例代码:** ```c #include<string.h> #include<stdio.h> int main(void) { char string[15]; char* ptr, c = 'r'; strcpy(string, "Thisisastring"); ptr = strchr(string, c); if (ptr) printf("The character %c is at position: %d\n", c, ptr - string); else printf("The character was not found\n"); return 0; } ``` #### 四、strcmp - 字符串比较 `strcmp`函数用于比较两个字符串,根据ASCII码的顺序比较。如果str1>str2,则返回值>0;如果两串相等,返回0;反之,返回负值。 **用法:** ```c int strcmp(char* str1, char* str2); ``` **示例代码:** ```c #include<string.h> #include<stdio.h> int main(void) { char* buf1 = "aaa", *buf2 = "bbb", *buf3 = "ccc"; int* ptr; ptr = strcmp(buf2, buf1); if (*ptr > 0) printf("buffer2 is greater than buffer1\n"); else printf("buffer2 is less than buffer1\n"); ptr = strcmp(buf2, buf3); if (*ptr > 0) printf("buffer2 is greater than buffer3\n"); else printf("buffer2 is less than buffer3\n"); return 0; } ``` #### 五、strncmpi - 忽略大小写的字符串比较 `strncmpi`函数比较两个字符串前n个字符,忽略大小写差异。 **用法:** ```c int strncmpi(char* str1, char* str2, unsigned maxlen); ``` **示例代码:** ```c #include<string.h> #include<stdio.h> int main(void) { char* buf1 = "BBB", *buf2 = "bbb"; int* ptr; ptr = strncmpi(buf2, buf1, strlen(buf1)); if (*ptr > 0) printf("buffer2 is greater than buffer1\n"); if (*ptr < 0) printf("buffer2 is less than buffer1\n"); if (*ptr == 0) printf("buffer2 equals buffer1\n"); return 0; } ``` #### 六、strcpy - 字符串复制 `strcpy`函数用于将一个字符串复制到另一个字符串,包括终止符。 **用法:** ```c char* strcpy(char* str1, char* str2); ``` **示例代码:** ```c #include<stdio.h> #include<string.h> int main(void) { char string[10]; char* str1 = "abcdefghi"; strcpy(string, str1); printf("%s\n", string); return 0; } ``` #### 七、strcspn - 查找非指定字符集的位置 `strcspn`函数计算从源字符串开始直到遇到第一个出现在指定字符集中的字符为止的长度。 **用法:** ```c int strcspn(char* str1, char* str2); ``` 由于示例代码片段被截断,我们无法提供完整的`strcspn`示例代码。但其使用方式如上所述,可以用于确定一个字符串在遇到特定字符集之前的有效长度。 这些函数是C语言字符串操作中最常用的几个,掌握它们对于进行字符串处理至关重要。每种函数都有其特定的应用场景和限制,在实际编程中应根据需求灵活选择和使用。
剩余24页未读,继续阅读
- 粉丝: 49
- 资源: 16
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助