电商平台网站制作,wordpress微信登录插件下载失败,微信官网登录,wordpress个人博客带会员目录
前言
接上篇#xff1a;
1.7 strtok
1.8 strerror
1.9 字符分类函数
总结 前言 C语言中对字符和字符串的处理是很频繁的#xff0c;但是c语言本身是没有字符串类型的#xff0c;字符串通常放在常量字符串中或着字符数组中。 字符串常量适用于那些对它不做修改的字…目录
前言
接上篇
1.7 strtok
1.8 strerror
1.9 字符分类函数
总结 前言 C语言中对字符和字符串的处理是很频繁的但是c语言本身是没有字符串类型的字符串通常放在常量字符串中或着字符数组中。 字符串常量适用于那些对它不做修改的字符串函数。
接上篇
1.7 strtok 此函数用于切割字符串 看一个例子来理解
#include stdio.h
#include string.h
int main()
{const char* sep .;char email[] pengxiaoyaocsdn.com;char cp[30] {0};strcpy(cp, email);char* ret strtok(cp, sep);printf(%s\n, ret);ret strtok(NULL, sep);printf(%s\n, ret);ret strtok(NULL, sep);printf(%s\n, ret);return 0;
}
效果如下 strtok是用于分割字符串的函数它的参数有两个第一个是传过去的是需要分割的字符串在这个例子里面就是“pengxiaoyaocsdn.com”第二个参数是分割标记上面的例子传过去的是一个指针内容为“.”有多少个分割标记就在里面放多少个元素。需要注意的是我们需要将被分割的字符串拷贝一份作为参数传递因为strtok函数作用会改变被分割的字符串的内容。 下面是使用方法介绍我们在例子中可以看到我第一次先将cp需要分割的字符串的拷贝和sep分割标记传参过去这样就能执行第一次分割结果就为“pengxiaoyao”然后第二次我们进行分割时传参传了NULL和分割标识sep这是因为在第一次分割后字符串第一个被找到的标识“”被改成了‘\0’我们传一个NULL是作为一个标志告诉strtok函数这不是第一次分割是接着上一次分割往下继续。因此我们使用strtok函数除了第一次传递被分割字符串地址后面都用NULL即可。第二次分割输出值为csdn,即和.之间的内容第三次分割同理得到最后的com。 提问明明NULL指针什么都没指向那strtok怎么找到的地址进行处理呢 其实是因为这个函数在第一次被调用后就记下了被分割的字符串的地址这个函数是有记忆功能的。什么原理用到了静态变量可以实现。 1.8 strerror strerror叫错误报告函数。功能是返回错误码所对应的信息。 c语言三的函数库在执行失败的时候都会设置错误码0 1 2 3 4 5 6 7 8....每一种数字都代表一种错误信息0代表没有错误1代表一种类型的错误2代表另一种.... 但是我们只知道错误码不清楚里面的信息于是我们可以将错误码传给strerror函数它就会返回错误信息。 举个例子
#include stdio.h
#include string.h
int main()
{printf(%s\n, strerror(0));printf(%s\n, strerror(1));printf(%s\n, strerror(2));printf(%s\n, strerror(3));printf(%s\n, strerror(4));printf(%s\n, strerror(5));printf(%s\n, strerror(6));return 0;
}
看此代码输出 说明0代表no error没有错误1代表Operation not permitted操作不允许.....以此类推3 4 5 6 的错误信息都打印了出来。
1.9 字符分类函数 这些函数比较易懂就不举例了。
总结 到此就将所有的字符串函数讲解完成了希望对你有所帮助