
字符串函数
发布日期:2021-05-10 13:47:50
浏览次数:20
分类:精选文章
本文共 2122 字,大约阅读时间需要 7 分钟。
目录
strstr
头文件: #include "string.h" 函数原型: char *strstr(const char *haystack, const char *needle); //大小写敏感 char *strcasestr(const char *haystack, const char *needle); //大小写不敏感 参数含义: haystack:总的字符串 needle:要查找的字符串 返回值: 成功:返回字符串str中从haystack地址开始第一次出现needle的地址; 失败:返回NULL。 例程: #include "stdio.h" #include "string.h" int main(int argc, char **argv) { char str_src[] = "this is a sample string"; char str_tar[] = "sample"; char *str_pos = NULL; str_pos = strchr(str_src,str_tar); while(pch != NULL ){ printf("Location : %d\n",str_pos-str_src); str_pos = strchr(str_pos+1, str_tar); } return 0; }strchr
头文件: #include "string.h" 函数原型: char *strchr(const char *s, int c); //第一个位置 char *strrchr(const char *s, int c); //最后一个位置 char *strchrnul(const char *s, int c); //和strchr基本一样。但如果找不到,它返回的是字符串s结尾的空字符地址。 返回值: 成功:返回字符串s中从haystack地址开始第一次出现c的地址; 失败:返回NULL。 示例: #include "stdio.h" #include "string.h"int main(int argc, char **argv)
{ char str[] = "this is a sample string"; char *pch;/* look for 's' in str */
pch = strchr(str, 's'); printf("str address = %p\n", str); printf("pch address = %p\n", pch); while(pch != NULL){ printf("found at %d\n", pch - str); pch = strchr(pch + 1, 's'); } return 0; }执行结果:
str address = 0x7fff0c54dee0
pch address = 0x7fff0c54dee3 found at 3 found at 6 found at 10 found at 17strtoul
原型:long int strtol(const char *str, char **endptr, int base)
头文件:stdlib.h 作用:把参数 str 所指向的字符串根据给定的 base 转换为一个长整数(类型为 long int 型), base 必须介于 2 和 36(包含)之间,或者是特殊值 0。跳过前面的空白字符(例如空格,tab缩进等, 可以通过 isspace() 函数来检测),直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结 束时('\0')结束转换,并将结果返回。 参数: str -- 要转换为长整数的字符串。 endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。 base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。当 base 的值为 0 时,默认采用 10 进制 转换,但如果遇到 '0x' / '0X' 前置字符则会使用 16 进制转换,遇到 '0' 前置字符则会使用 8 进制转换。 返回值 成功:返回转换后的长整数 0:如果没有执行有效的转换(不能转换或者 str 为空字符串) ULONG_MAX:转换得到的值超出unsigned long int 所能表示的范围 示例: int main(int argc, char **argv) { char str[30] = "2030300 This is test"; char *ptr; long ret;ret = strtol(str, &ptr, 10);
printf("num is:%ld\n", ret); printf("string is:%s\n", ptr); return 0; } 运行结果: num is:2030300 string is: This is test //注意:This前边有一个空格
发表评论
最新留言
不错!
[***.144.177.141]2025年04月20日 16时02分50秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一文掌握Python正则表达式
2021-05-10
selenium+python之切换窗口
2021-05-10
Unknown database ‘modd‘
2021-05-10
重载和重写的区别:
2021-05-10
finally,final,finalize() 的区别
2021-05-10
搭建Vue项目步骤
2021-05-10
docker镜像命令
2021-05-10
docker容器命令
2021-05-10
CentOS7使用keepalive实现nginx的高可用
2021-05-10
Centos7.4下mysql5.6开启ssl
2021-05-10
oracle查看字符集后修改oracle服务端和客户端字符集的步骤
2021-05-10
Oracle闪回查询总结
2021-05-10
NAT端口复用型
2021-05-10
android中自定义标题栏左边距问题
2021-05-10
c学习-28
2021-05-10
Linux环境编程--03 文件IO
2021-05-10
使用C语言获取文件夹地址的方法收藏
2021-05-10
微盟实习
2021-05-10