1 Star 0 Fork 1

一一哥/c语言文档

forked from 狐皮先生/c语言文档 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
字符串函数笔记.txt 2.18 KB
一键复制 编辑 原始数据 按行查看 历史
狐皮先生 提交于 2023-01-13 12:48 . 1.13 文档
4.字符函数和字符串函数
4.1 strlen
size_t strlen(const char * str);
因为strlen不可能返回负数,所以返回类型为size_t无符号整型;
以‘\0’为结束标志,统计‘\0'前的字符个数;
size_t a=10;
size_t b=20;
a-b=不是-10 因为无符号整型减去也是一个无符号整型
4.2 strcpy;
char* strcpy(char*strdes,char*strcsource);
将一个字符串拷贝到另一个字符串中 str1[]="hello"; str2[]=''world'' strcpy(str1,str2)--->str1-->"world";
注意str1的空间大小必须大于等于str2的字符串大小 否则拷贝会撑爆str1 造成非法访问;
拷贝函数要必须有'\0'
4.3 strcat
char*strcat(char*str1des,counst char*str);
将一个字符串追加到另一个字符串中 str1[]="hello"; str2[]=''world'' strcpy(str1,str2)--->str1-->"hello world";
注意str1剩余空间大小必须大于等于str2的字符串大小 否则拷贝会撑爆str1 造成非法访问;
目标字符串中要必须有'\0'
4.4strcmp
int strcmp(const char*str1,const char*str2);
比较的是对应字符串的字符的大小; char a[]="abcde";char b[]="abq" strcmp(a,b)-->-1;
strcmp(a,b);比较对应字符的ascii码
a>b 返回1 a<b 返回-1 a=b 返回 0;
4.5长度不受限制的字符串函数 strcpy strcat strcmp;
4.4长度限制的函数strncpy strncat strncmp
str[20]=''0000''
strncpy(str,"hee",3)--->printf(str)-->hee0
strncat(str,''hehe'',3)-->printf(str)-->000heh
strncmp(str,str0,3) -->printf(strncmp())--> 结果>0 (“3”比较3对数据)
4.5 strstr
char* strstr(const char*str1,const char*str0)
寻找str0是否是str1的子字符串 找到了返回找到的首地址 找不到返回NULL;
char arr[]="20020202.zjy'';--->20020202+zjy
str(char * str,const char * str);
strtok (str,p) str为被分割的字符串首地址,p为分割标志的字符串,如果要对一个字符串连续的分割 从第二次分割开始
只需要传入strtok(NULL,p),注意必须是要连续的使用否则不可以再一次分割;注意特别要注意分割处理后原字符串 str 会变,变成第一个子字符串,它的分割位置字符被改为了'\0';
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sunyiyi/c-language-document.git
git@gitee.com:sunyiyi/c-language-document.git
sunyiyi
c-language-document
c语言文档
master

搜索帮助