C语言中“不受限制”的字符串函数总结
“不受限制的“字符串函数
按《C和指针》中所说,那些常用的字符串函数都是“不是限制的”,就是说它们只能通过寻找字符串末尾的NULL来判断字符串的长度。
strlen
strlen函数用于求解字符串长度,其返回类型为unsignedint(即size_t)。strlen函数从起点开始,往后计数,遇到‘\0'停止。
值得注意的是:strlen函数的返回类型。看如下代码:
#include#include usingnamespacestd; intmain() { if((strlen("abc")-strlen("abcdef"))>0) cout<<"大于"< 输出:大于。不必惊奇,函数的size_t(-3)是一个正数。
strcpy
strcpy函数是字符串拷贝函数
函数原型为:
需要注意:目标字符串是要可以更改的,空间要大,足够存放拷贝的源字符串。
拷贝过程中,函数将源字符串的‘\0'一起拷贝到目标中。
#include#include usingnamespacestd; intmain() { chararr[20]="abcdefgh******"; char*p="helloworld"; strcpy(arr,p); cout< strcmp
strcmp函数为字符串比较函数。比较的不是字符串的长度,而是对应字符的ASCII值。
返回类型为:
#include#include usingnamespacestd; intmain() { chararr[]="abcde"; charp[]="abde"; cout< strcat
strcat函数为字符串追加函数。函数原型:
将源字符串追加到目标字符串上。
intmain() { chararr[20]="abcde"; charp[]="hello"; cout<strstr
strstr为字符串查找函数。函数原型为:
在目标字符串中查找子字符串,找的则返回指向子字符串的指针,否则返回空指针。
intmain() { chararr[]="hello,howareyou?"; charp[]="are"; cout<结果为:areyou?
strtok
strtok函数为字符串分隔函数。函数原型为:
strDelimit为字符串,定义了分隔字符的集合。函数执行是遇到分割字符时,将它改为‘\0',范围一个指向这个标记的指针。注意:strtok函数执行时修改了字符串的内容。
intmain() { charstr[]="hello,howareyou?"; char*p; p=strtok(str,",?"); while(p!=NULL) { printf("%s\n",p); p=strtok(NULL,",?"); } return0; }strerror
strerror函数的作用:返回错误码对应的信息。函数原型为
使用时要包含#include
小结
这些“不受限制的”的字符串函数,在执行过程中,函数本身要寻找字符串结尾的'\0'来作为结束执行标志。如果找不到'\0',这函数执行可能就会越界,得不到正确的结果。
到此这篇关于C语言中“不受限制”的字符串函数的文章就介绍到这了,更多相关C语言不受限制字符串函数内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。