1、strtok函数的使用
函数原型:
1 char * strtok ( char * str, const char * sep);
sep参数指向⼀个字符串,定义了⽤作分隔符的字符集合
第⼀个参数指定⼀个字符串,它包含了0个或者多个由sep字符串中⼀个或者多个分隔符分割的标
记。(如下面的pengyuyan shuaibi com)
strtok函数找到str中的下⼀个标记,并将其⽤ \0 结尾,返回⼀个指向这个标记的指针。(注:
strtok函数会改变被操作的字符串,所以被strtok函数切分的字符串⼀般都是临时拷⻉的内容并且
可修改。)
strtok函数的第⼀个参数不为 NULL ,函数将找到str中第⼀个标记,strtok函数将保存它在字符串
中的位置。
strtok函数的第⼀个参数为 NULL ,函数将在同⼀个字符串中被保存的位置开始,查找下⼀个标
记。
如果字符串中不存在更多的标记,则返回 NULL 指针。
比如,对于一个字符串pengyuyan@shuaibi.com
我们想得到pengyuyan
shuaibi
com
那么其实@和.就是分割符,它将字符串给分割了,我们将字符串提取出来就可以用这个函数。

如上图,首先将arr数组中的内容拷贝到tmp数组中,防止其改变arr数组中的内容,再定义分割符字符串,接着,先传非空指针tmp找到第一个分割符@,把它改成\0,再传NULL指针使其从 同⼀个字符串中被保存的位置开始,查找下⼀个标 记,以此类推,直至遍历字符串。不过上述代码比较垃圾,以作演示。

利用for循环可以比较便捷地进行操作。
2. strerror 函数的使⽤
函数原型:
1 char* strerror ( int errnum );
strerror 函数可以把参数部分错误码对应的错误信息的字符串地址返回来。
在不同的系统和C语⾔标准库的实现中都规定了⼀些错误码,⼀般是放在 errno.h 这个头⽂件中说明的,C语⾔程序启动的时候就会使⽤⼀个全局的变量 errno 来记录程序的当前错误码,只不过程序启动 的时候errno是0,表⽰没有错误,当我们在使⽤标准库中的函数的时候发⽣了某种错误,就会将对应的错误码,存放在 errno 中,⽽⼀个错误码的数字是整数很难理解是什么意思,所以每⼀个错误码都是有对应的错误信息的。strerror函数就可以将错误对应的错误信息字符串的地址返回。
通俗来讲:在C语言的实现中,库函数的使用,调用如果失败的话,会记录错误码。可能是0 1 2...

