博客专栏

EEPW首页 > 博客 > Linux C - C基础篇九(c库中字符串函数介绍)

Linux C - C基础篇九(c库中字符串函数介绍)

发布人:嵌入式Linux 时间:2023-01-12 来源:工程师 发布文章

以下我总结了c标准库中最常用的字符串函数的用法,希望对刚刚学习c基础的同学能有所帮助;对于初学者可以根据我写的例子自己动手敲敲代码,也可以在这个基础上进行改动尝试,在这个过程中可以发现问题,解决这些问题的过程你会学到更多的知识。

字符串长度

通过Linux下的man工具可以很方便的查看c库里面的函数接口的详细信息,例如man strlen,可以获取strlen这个函数的信息:

  • 函数原型:size_t strlen(const char *s);

  • 功能:计算一个字符串的长度

  • 需要包含头文件:#include <string.h>

  • 参数:需要传入一个字符串

  • 返回值:返回传入字符串的字节个数,即字符串的长度

字符串转换函数
  • 函数原型:函数原型如上图

  • 功能:分别将字符串转换为int、long、long long类型的整数

  • 需要包含头文件:#include <stdlib.h>

  • 参数:要转换成整数的字符串

  • 返回值:分别为对应类型的整数

需要注意的是,当传入atoi的参数是非整数的字符串时,例如"hello",那么将返回0。

字符串复制
  • 函数原型:函数原型如上图

  • 功能:将一个字符串复制到另一个字符串变量中

  • 需要包含头文件:#include <string.h>

  • 参数:dest:目的字符串 src:源字符串 size:要cp的大小

  • 返回值:成功则返回目的字符串的首地址

从上面的例子可以看出,strncpy和strcpy的区别是strncpy可以指定要复制的字符串的大小。

字符串比较
  • 函数原型:函数原型如上图

  • 功能:将一个字符串和另一个字符串的大小进行比较

  • 需要包含头文件:#include <string.h>

  • 参数:s1、s2要进行比较的两个字符串的首地址,size:对两个字符串的前size个字节进行比较

  • 返回值:如果两个字符串相等则返回0,如果不相等则返回不相等的两个字符的ascii码的差值

字符串的大小比较是从两个字符串的第一个字符依次往后比较的,比较的是每个字节的ascii码值的大小;从上面的例子可以看出,strncmp可以只比较两个字符串的前size个字节。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

热像仪相关文章:热像仪原理


关键词: 字符串函数

技术专区

关闭