首先是字符串的比较:
字符串进行比较时无论是常量字符串还是字符串数组,比较的都是字符串的地址。通过strcmp进行比较才比较的是字符串的大小。
strncpy:
strncpy(char *a1,char*a2,int n)函数为将第二个字符串中的前n个元素拷贝进第一个字符串中。如果第二个字符串长度小于n则再拷贝完原字符串后在目标字符串后加上\0直到达到第n个元素为止。
strncat:
strncat与strncpy类似的原理,但不同的是第二个字符串碰到'\0'后不会继续追加'\0'而是直接结束。
strstr:
strstr函数输出第二个字符串在第一个字符串中第一次出现的位置(char*类型指针)。如果第二个字符串没有在第一个字符串中出现则返回空指针。
以下是strstr函数的参考函数(仅供参考):
strtok:
strtok(char*arr1,char*arr2)函数,在第二个字符串中存放用于指定分割的分割符,负责将第一个字符串中第一个遇到的指定的分割符删去(并更改为\0),并返回分割开始时的第一个元素地址,同时记录分割位置的地址(记录在strtok函数中)。
若开始执行时arr1为空指针(即NULL),那么将从上一次strtok函数执行时记录的位置开始执行查找下一个标记。
若原字符串中不存在更多的分割符(即到达字符串末尾时),返回空指针NULL。
因此,我们可以写出如下例子:
原理为先输出strtok(ab,bc),返回值为'.'前的字符串的首元素地址同时将'.'改为'\0',再将'\0'后一位的位置记录下来。
之后使用while循环,当返回值不为NULL则重复执行strtok(NULL,bc)的操作,从记录位置开始删去其他分割符并记录下一个位置。
strerror:
strerror(int m)函数,返回值为字符串,可对错误码进行解读。
但是这个函数一般搭配头文件<errno.h>使用,以下为案例:
FILE*为指向某一文件的指针,fopen函数第一个为文件名,第二个为打开方式,"r"为read方式。
如果发生了错误我们可以通过使用strerreo(errno)的方式查找错误原因。
但是这里也有更方便的做法。
perror:
perror函数不需要包含该头文件即可直接打印错误信息。需要注意的是,perror函数括号内填写的是加在错误原因之前的提示语。当然也可以选择不加提示语,但是要在perror函数括号内写上NULL,不能什么都不写。