C/C++的各种字符串函数你知道几个

Aggie ·
更新时间:2024-09-20
· 1024 次阅读

目录

一、strrchr

参数 

返回值

示例

输出

二、atoi

参数 

返回值

示例

输出

三、strcat

参数 

返回值

示例

输出

四、strstr

参数

返回值

示例

输出

五、strncasecmp

参数

返回值

六、strncpy

参数 

返回值

示例

输出

七、strcspn

参数 

返回值

示例:

输出

总结

一、strrchr char *strrchr(const char *str, int c)

在参数 str 所指向的字符串中搜索最后一次出现字符 c(一个无符号字符)的位置。

参数 

str -- C 字符串。

c -- 要搜索的字符。以 int 形式传递,最终会转换回 char 形式。

返回值

该函数返回 str 中最后一次出现字符 c 的位置。如果未找到该值,则函数返回一个空指针。

示例 #include <stdio.h> #include <string.h> int main() { int len; char str[] = "www.baidu.com"; char ch = '.'; char* ret; ret = strrchr(str, ch); printf("%c 后的字符串是 %s\n", ch, ret); return 0; } 输出

二、atoi int atoi(const char *str)

把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。

参数 

str -- 要转换为整数的字符串。

返回值

该函数返回转换后的长整数,如果没有执行有效的转换,则返回零。

示例 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { int val; char str[20]="20220228"; val = atoi(str); printf("字符串值 = %s, 整型值 = %d\n", str, val); strcpy(str, "hhhhh"); val = atoi(str); printf("字符串值 = %s, 整型值 = %d\n", str, val); return 0; } 输出

三、strcat char *strcat(char *dest, const char *src)

把 src 所指向的字符串追加到 dest 所指向的字符串的结尾。

参数 

dest -- 指向目标数组,该数组包含了一个 C 字符串,且足够容纳追加后的字符串。

src -- 指向要追加的字符串,该字符串不会覆盖目标字符串。

返回值

该函数返回一个指向最终的目标字符串 dest 的指针。

示例 #include <stdio.h> #include <string.h> int main() { char src[50] = "This is source ", dest[50] = "This is destination"; strcat(src, dest); printf("%s", src); return 0; } 输出

四、strstr char *strstr(const char *str1, const char *str2)

用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。

参数

str1-- 要被检索的 C 字符串。

str2-- 在 haystack 字符串内要搜索的小字符串。

返回值

该函数返回在 str1中第一次出现 str2字符串的位置,如果未找到则返回 null。

示例 #include <stdio.h> #include <string.h> int main() { char str1[20] = "www.baidu.com"; char str2[10] = ".baidu"; char* ret; ret = strstr(str1, str2); printf("%s", ret); return(0); } 输出

五、strncasecmp int strncasecmp(const char *s1, const char *s2, size_t n);

Linux下函数,比较参数s1 和s2 字符串前n个字符,且忽略字符大小写

参数

s1:字符串1

s2:字符串2

len:比较的最大字符数

返回值

若s1和s2匹配(相等)返回0;若s1大于s2,返回大于0的值;若s1小于s2,返回小于0的值

六、strncpy char *strncpy(char *dest, const char *src, size_t n)

把 src 所指向的字符串复制到 dest,最多复制 n 个字符。当 src 的长度小于 n 时,dest 的剩余部分将用空字节填充。

参数 

dest -- 指向用于存储复制内容的目标数组。

src -- 要复制的字符串。

n -- 要从源中复制的字符数。

返回值

该函数返回最终复制的字符串。

示例 #include <stdio.h> #include <string.h> int main() { char src[40] = "i am src hh."; char dest[12]; memset(dest, '\0', sizeof(dest)); strncpy(dest, src, 10); printf("%s\n", dest); return 0; } 输出

七、strcspn size_t strcspn(const char *str1, const char *str2)

检索字符串 str1 开头连续有几个字符都不含字符串 str2 中的字符。

参数 

str1 -- 要被检索的 C 字符串。

str2 -- 该字符串包含了要在 str1 中进行匹配的字符列表。

返回值

该函数返回 str1 开头连续都不含字符串 str2 中字符的字符数。

示例: #include <stdio.h> #include <string.h> int main() { int len; char str1[] = "www.baidu.com"; char str2[] = "bc"; len = strcspn(str1, str2); printf("第一个匹配的字符在 %d", len); return(0); } 输出

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注软件开发网的更多内容! 



c+ 字符串 函数 C++ 字符串函数 字符

需要 登录 后方可回复, 如果你还没有账号请 注册新账号