C语言常用字符串处理函数

  • 一、strlen()
  • 二、sizeof()
  • 三、strcat()
  • 四、strcmp()
  • 五、strncasecmp()
  • 六、strcpy()
  • 七、sprintf()
  • 八、strstr()
  • 九、strchr()
  • 十、strtok()
  • 十一、sscanf()

一、strlen()

函数原型
功能:计算指定指定字符串s的长度,不包含字符串结束符’\0’

size_t strlen(const char *str)

参数str: 要计算的字符串的长度
返回值: 返回字符串 str 的长度,直到遇到结束字符'\0',但不包括结束字符。
size_t 是一个无符号整数类型。

二、sizeof()

功能:运算符,用来查询类型或对象在内存中所占的字节数。
用法

size_t sizeof(类型\对象\);   //size_t就是无符号整型

三、strcat()

功能:strcat 函数用于连接两个字符串,‘\0’也会追加过去
函数原型

char *strcat(char *dest, const char *src)

参数:
dest:目的字符串首地址
src:源字符首地址
返回值:
成功:返回dest字符串的首地址
失败:NULL

四、strcmp()

功能:strcmp 函数用于比较两个字符串。
该函数从第一个字符开始,依次比较每个字符的 ASCII 码大小,直到发现两个字符不相等或抵达结束符(’\0’)为止。
函数原型

int strcmp(const char *str1, const char *str2)

参数1: 要比较的第一个字符串
参数2: 要比较的第二个字符串
返回值:
    如果返回值 < 0,则表示 str1 小于 str2。
    如果返回值 > 0,则表示 str1 大于 str2。
    如果返回值 = 0,则表示 str1 等于 str2。

五、strncasecmp()

功能:用来比较两个字符串的前n个字符
注意:比较时会自动忽略大小写的差异
函数原型

int strncasecmp(const char *s1, const char *s2, size_t n);

参数1: 要比较的第一个字符串
参数2: 要比较的第二个字符串
参数3: 要比较的字符数

返回值:
   0 - 如果两个字符串相等
  <0 - 如果 string1 小于 string2
  >0 - 如果 string1 大于 string2

六、strcpy()

函数原型
功能:函数将待拷贝字符串拷贝到目标数组中。

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

参数:
dest:目的字符串首地址
src:源字符首地址

返回值: 
成功:返回dest字符串的首地址
失败:NULL

注意:如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况。

七、sprintf()

功能:根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符 ‘\0’ 为止。
函数原型

int sprintf(char *_CRT_SECURE_NO_WARNINGS, const char *format, ...);

参数:
str:字符串首地址
format:字符串格式,用法和printf()一样

返回值:
成功:实际格式化的字符个数
失败: - 1

八、strstr()

函数原型
功能:在字符串haystack中查找字符串needle出现的位置

char *strstr(const char *haystack, const char *needle);
参数:
haystack:源字符串首地址
needle:匹配字符串首地址

返回值:
成功:返回第一次出现的needle地址
失败:NULL

九、strchr()

功能:在字符串s中查找字母c出现的位置
函数原型

char *strchr(const char *s, int c);
参数:
s:字符串首地址
c:匹配字母(字符)

返回值:
成功:返回第一次出现的c地址
失败:NULL

十、strtok()

功能:来将字符串分割成一个个片段。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时, 则会将该字符改为\0 字符,当连续出现多个时只替换第一个为\0。
函数原型

char *strtok(char *str, const char *delim);
参数:
str:指向欲分割的字符串
delim:为分割字符串中包含的所有字符

返回值:
成功:分割后字符串首地址
失败:NULL

在第一次调用时:strtok()必需给予参数s字符串
往后的调用则将参数s设置成NULL,每次调用成功则返回指向被分割出片段的指针

十一、sscanf()

功能:从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据。
函数原型


int sscanf(const char *str, const char *format, ...);
参数:
str:指定的字符串首地址
format:字符串格式,用法和scanf()一样

返回值:
成功:参数数目,成功转换的值的个数
失败: - 1

后续会补上各个函数的使用示例 ( •̀ ω •́ )

你可能感兴趣的:(c语言)