C语言中有哪些不受限制的字符串函数?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发,使用C语言可以以简易的方式编译、处理低级存储器。
strlen函数用于求解字符串长度,其返回类型为unsigned int(即size_t)。strlen函数从起点开始,往后计数,遇到‘\0'停止。
值得注意的是:strlen函数的返回类型。看如下代码:
#include<string.h> #include<iostream> using namespace std; int main() { if ((strlen("abc") - strlen("abcdef")) > 0) cout << "大于" << endl; else cout << "小于" << endl; return 0; }
输出 : 大于。不必惊奇,函数的size_t(-3)是一个正数。
strcpy函数是字符串拷贝函数
函数原型为:
需要注意:目标字符串是要可以更改的,空间要大,足够存放拷贝的源字符串。
拷贝过程中,函数将源字符串的‘\0'一起拷贝到目标中。
#include<string> #include<iostream> using namespace std; int main() { char arr[20] = "abcdefgh******"; char* p = "hello world"; strcpy(arr, p); cout << arr << endl; return 0; }
strcmp函数为字符串比较函数。比较的不是字符串的长度,而是对应字符的ASCII值。
返回类型为:
#include<string> #include<iostream> using namespace std; int main() { char arr[] = "abcde"; char p[] = "abde"; cout << strcmp(arr,p) << endl; return 0; }
strcat函数为字符串追加函数。函数原型:
将源字符串追加到目标字符串上。
int main() { char arr[20] = "abcde "; char p[] = "hello"; cout << strcat(arr, p) << endl; return 0; }
strstr为字符串查找函数。函数原型为:
在目标字符串中查找子字符串,找的则返回指向子字符串的指针,否则返回空指针。
int main() { char arr[] = "hello, how are you ?"; char p[] = "are"; cout << strstr(arr, p) << endl; return 0; }
结果为:are you ?
strtok函数为字符串分隔函数。函数原型为:
strDelimit为字符串,定义了分隔字符的集合。函数执行是遇到分割字符时,将它改为‘\0',范围一个指向这个标记的指针。注意:strtok函数执行时修改了字符串的内容。
int main() { char str[] = "hello,how are you ?"; char * p; p = strtok(str, ",?"); while (p != NULL) { printf("%s\n", p); p = strtok(NULL, ",?"); } return 0; }
strerror函数的作用:返回错误码对应的信息。函数原型为
使用时要包含#include<errno.h>
看完上述内容,你们掌握C语言中有哪些不受限制的字符串函数的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。