Linux下的基本C编程的三类高频函数操作第二类——字符串操作函数(str)

一,strlen和sizeof

strlen一般用来求字符串长度,而sizeof是求这一段储存空间的大小。它们的区别在于strlen不计算空白符的大小,且遇到\0就会停止工作。

例如

#include <stdio.h>
#include <string.h>


int main(int argc, char **argv)
{
        printf("%ld\n",strlen("hello baby"));//结果为10;
        printf("%ld\n",strlen("hello\0baby"));//结果为5;
        printf("%ld\n",sizeof("hello baby"));//结果为11;
        printf("%ld\n",sizeof("hello\0baby"));//结果为11;
        return 0;
}
        

二,strcat和strncat(返回值是指针)

strcatstrncat都用于将两个字符串连接起来。

strcat(char *a,char *b)//把串b直接连接到a后边,
strncat(char *a,char *b ,int n)//把字符串b前边的n个字符直接连接到a后边

三,strcmp和strncmp(区分大小写比较,不区分大小写则用strcasecmp和strncasecmp)

strcmp和strncmp都用来比较两个字符串,两个字符串自左向右逐个字符相比(按ASCII值大小比较);若两个字符串为str1,str2:

strcmp:

strcmp(str1,str2);
//若str1=str2,则返回零;
若str1 > str2,则返回正数;
若str1< str2,则返回负数。

strncmp:

strncmp(str1,str2,size);
//如果字符串s1与s2的前size个字符相同,函数返回值为0;
在前size字节比较过程中,如果出现str1[n]与str2[n]不等,则依次比较str1和str2的前n位,
设i(i< n)为两字符串首次的不同位,则返回一个ASCLL值(str1[i]-str2[i])

四, strstr,strchr和strnchr

strstr是在字符串中查找匹配的字符串

strstr(str1,str2);
//找不到返回null,找到了返回str2在str1中的地址;

strchr和strrchr都是在字符串中查找匹配的字符

strchr(str1,单个字符);
//找到了返回第一个的地址,找不到返回null;
strrchr(str1,单个字符);
//找到了返回最后一个匹配字符的地址,找不到返回null;

五,strcpy和strcmpy(返回值是指针)

strcpy和strcmpy用于字符串拷贝

strcpy

char *strcpy(char *dest, const char *src) ;

strncpy:

char *strncpy(char *dest, const char *src, size_t n);

 

六,sprintf和snprintf

sprintf和snprintf用于格式化输出字符串到buffer;

sprintf:

intsprintf(char *string,char *format,arg_list);

snprintf:

int snprintf(char *str, size_t size, const char *format, ...);

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值