单片机常用的几种字符串处理函数对比记录
一.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"