单片机常用的几种字符串处理函数对比记录

一.strstr

函数包含在标准C库<string.h>

1.1函数原型

char *strstr(const char *S1, const char *S2),在字符串S1中查找第一次出现S2字符串的位置。

1.2函数返回值

该函数返回在 S1 中第一次出现 S2字符串的位置,如果未找到则返回 null

通常用来查找S1中是否包含S2

二.strcmp

函数包含在标准C库<string.h>

2.1函数原型

int strcmp(const char *S1, const char *S2),比较S1与S2字符串,查看是否完全一样

2.2函数返回值

如果返回值小于 0,则表示 str1 小于 str2。

如果返回值大于 0,则表示 str1 大于 str2。

如果返回值等于 0,则表示 str1 等于 str2

三.strcpy

函数包含在标准C库<string.h>

3.1函数原型

char *strcpy(char *S1, const char *S2),把S2字符串复制到S1中,使用时要注意数量大小,S2>S1时会导致溢出,出现错误

3.2函数返回值

函数返回一个指向最终的目标字符串 S1的指针

四.strcpy

函数包含在标准C库<string.h>

4.1函数原型

char *strncpy(char *S1 const char *S2, size_t n),把S2字符串复制到S1中,最多复制 n 个字符。当 S2 的长度小于 n 时,S1 的剩余部分将用空字节填充。

4.2函数返回值

函数返回一个指向最终的目标字符串 S1的指针

五.memset

函数包含在C库<string.h>

5.1函数原型

void *memset(void *str, int c, size_t n),复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符,主要用于缓冲数组清零使用。

5.2函数返回值

函数返回一个指向存储区 str 的指针

六.strtok

函数包含在C库<string.h>

6.1函数原型

char *strtok(char *str, const char *delim),分解字符串 str 为一组字符串,delim 为分隔符。使用后原字符串 str 会变,变成第一个子字符串

6.2返回值

函数返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针

七.printf

函数包含在C库<stdio.h>

7.1函数原型

 int printf(const char *format, ...) ,发送格式化输出到标准输出 stdout

7.2实例

printf("数值=%d",123);

八.sprintf

8.1函数原型

int sprintf(char *str, const char *format, ...) ,发送格式化输出到 str 所指向的字符串

8.2实例

sprintf(s,"%s%d%c","zhangnan",1,'2');执行后S=" zhangnan12"