字符串相关函数(更新)

首先是字符串的比较:

字符串进行比较时无论是常量字符串还是字符串数组,比较的都是字符串的地址。通过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,不能什么都不写。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值