Linux 常用C函数说明-内存及字符串操作篇(中文版)
strrchr(查找字符串中最后出现的指定字符)
相关函数
index,memchr,rindex,strpbrk,strsep,strspn,strstr,strtok
表头文件
#include
定义函数
char*strrchr(constchar*s,intc);
函数说明
strrchr()用来找出参数s字符串中最后一个出现的参数c地址,然后将该字符出现的地址返回。
返回值
如果找到指定的字符则返回该字符所在地址,否则返回0。
范例
#include
main()
{
char*s="0123456789012345678901234567890";
char*p;
p=strrchr(s,'5');
printf("%s\n",p);
}
执行
567890
strspn(返回字符串中连续不含指定字符串内容的字符数)
相关函数
strcspn,strchr,strpbrk,strsep,strstr
表头文件
#include
定义函数
size_tstrspn(constchar*s,constchar*accept);
函数说明
strspn()从参数s字符串的开头计算连续的字符,而这些字符都完全是accept所指字符串中的字符。简单的说,若strspn()返回的数值为n,则代表字符串s开头连续有n个字符都是属于字符串accept内的字符。
返回值
返回字符串s开头连续包含字符串accept内的字符数目。
范例
#include
main()
{
char*str="Linuxwasfirstdevelopedfor386/486-basedPCs.";
char*t1="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
printf("%d\n",strspn(str,t1));
}
执行
5/*计算大小写字母。不包含"",所以返回Linux的长度。*/
strstr(在一字符串中查找指定的字符串)
相关函数
index,memchr,rindex,strchr,strpbrk,strsep,strspn,strtok
表头文件
#include
定义函数
char*strstr(constchar*haystack,constchar*needle);
函数说明
strstr()会从字符串haystack中搜寻字符串needle,并将第一次出现的地址返回。
返回值
返回指定字符串第一次出现的地址,否则返回0。
范例
#include
main()
{
char*s="012345678901234567890123456789";
char*p;
p=strstr(s,"901");
printf("%s\n",p);
}
执行
9.01E+21
strtok(分割字符串)
相关函数
index,memchr,rindex,strpbrk,strsep,strspn,strstr
表头文件
#include
定义函数
char*strtok(char*s,constchar*delim);
函数说明
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符串指针。
返回值
返回下一个分割后的字符串指针,如果已无从分割则返回NULL。
范例
#include
main()
{
chars[]="ab-cd:ef;gh:i-jkl;mnop;qrs-tu:vwx-y;z";
char*delim="-:";
char*p;
printf("%s";strtok(s,delim));
while((p=strtok(NULL,delim)))printf("%s",p);
printf("\n");
}
执行
abcdef;ghijkl;mnop;qrstuvwxy;z/*-与:字符已经被\0字符取代*/