1024G 嵌入式资源大放送!包括但不限于C/C++、单片机、Linux等。关注微信公众号【嵌入式大杂烩】,回复1024,即可免费获取!
1、字符串逆序函数
(1)方法一
char *STR_ReserveOrder(char *src_str,int str_len)
{
char *dst_str = src_str;
char temp;
for(int i=0;i<str_len/2;i++)
{
temp = src_str[i]; //或者temp = *(src_str + i);
src_str[i] = src_str[str_len-i-1]; //或者*(src_str + i) = *(src_str + str_len - i - 1);
src_str[str_len-i-1] = temp; //或者*(src_str + str_len - i - 1) = temp;
}
return (char*)dst_str;
}
(2)方法二
char *Str_ReverseOrder(char *src_str,int str_len)
{
char *str1,*str2,temp;
printf("Method 2!\n");
str1 = src_str; //指向字符串的头
str2 = src_str + str_len - 1; //指向字符串的尾
while(str1<str2)
{
temp = *str1;
*str1 = *str2;
*str2 = temp;
str1++;
str2--;
}
return str2;
}
测试结果如下:
2、求字符串长度
(1)方法一:运用计数的方式
int my_strlen(const char *str)
{
int len_count = 0; //长度计数值
while(*str)
{
len_count++;
str++;
}
return len_count;
}
(2)方法二:运用递归
int my_strlen(const char *str)
{
if(*str=='\0')
return 0;
else
return my_strlen(str+1) + 1;
}
(3)方法三:运用指针
int my_strlen(const char *str)
{
if(*str=='\0')
return 0;
else
return my_strlen(str+1) + 1;
}
测试结果如下:
3、字符串拷贝
char *my_strcpy(char *dest,char *src)
{
assert(dest);
assert(src);
while(*dest++ = *src++);
return dest;
}
测试结果如下:
4、字符串拼接
char *my_strcat(char *dest,char *src)
{
assert(dest);
assert(src);
while(*dest!='\0')
{
dest++;
}
while(*dest++=*src++);
return dest;
}
测试结果如下:
5、字符串比较
int my_strcmp(char *str1,char *str2)
{
while(*str1==*str2)
{
if(*str1=='\0')
{
return 0;
}
str1++;
str2++;
}
return *str1-*str2;
}
测试结果如下:
6、搜索一个字符串在另一个字符串中的第一次出现的位置
char *my_strstr(char *str, char *substr)
{
char *p = str;
char *q = substr;
char *cur = NULL;
assert(str);
assert(substr);
if(substr=='\0')
return str;
while(*p)
{
cur = p;
while((*p)&&(*q)&&(*p==*q))
{
p++;
q++;
}
if(*q=='\0')
return cur;
p = cur + 1;
q = substr;
}
return NULL;
}
测试结果如下:
7、搜索一个字符在另一个字符串中的第一次出现的位置
char *my_strchr(char *str, char c)
{
char *temp = str;
assert(str);
while(*temp)
{
if(*temp==c)
{
return temp;
}
temp++;
}
return NULL;
}
测试结果如下:
8、带长度控制的字符串拷贝
char *my_strncpy(char *dest, char *src, int maxlen)
{
assert(dest);
assert(src);
while(maxlen--)
{
*dest++ = *src++;
}
if(*dest!='\0')
{
*dest = '\0';
}
return dest;
}
测试结果如下:
9、带长度控制的字符串拼接
char *my_strncat(char *dest, char *src, int maxlen)
{
assert(dest);
assert(src);
while(*dest!='\0')
{
dest++;
}
while(maxlen--)
{
*dest = *src;
dest++;
src++;
}
*dest = '\0'; //不要漏了这条语句
return dest;
}
测试结果如下:
10、带长度控制的字符串比较
int my_strncmp(char *str1, char *str2, int maxlen)
{
assert(str1);
assert(str2);
while(maxlen--)
{
while(*str1==*str2)
{
if(*str1=='\0')
{
return 0;
}
else
{
return *str1-*str2;
}
}
}
return 0;
}
测试结果如下:
11、完整的程序
/*----------------------------------------------------------------------------------------
Program Explain:自定义字符串操作函数
Create Date:2018.1.27 by lzn
----------------------------------------------------------------------------------------*/
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include <stdlib.h>
#define uint8 unsigned char
#define SIZE 256
// #define my_strlen_1 1
// #define my_strlen_2 2
//操作函数的声明
char *Str_ReverseOrder(char *src_str, int str_len); //字符串逆序
int my_strlen(const char *str); //字符串长度
char *my_strcpy(char *dest, char *src); //字符串拷贝
char *my_strcat(char *dest, char *src); //字符串拼接
int my_strcmp(char *str1, char *str2); //字符串比较
char *my_strstr(char *str, char *substr); //在串中查找指定字符串的第一次出现
char *my_strchr(char *str, char c); //在串中查找指定字符的第一次出现
char *my_strncpy(char *dest, char *src, int maxlen); //带长度限制的字符串拷贝
char *my_strncat(char *dest, char *src, int maxlen); //带长度限制的字符串拼接
int my_strncmp(char *str1, char *str2, int maxlen); //带长度限制的字符串比较
uint8 Bit_Reverse(uint8 chr); //位转换
void ChrReplace(char *dest,char *src,char c1,char c2); //字符替换
void StrReplace(char *dest,char *src,char *s1,char *s2);//字符串替换
void PrintfMenu(void); //打印菜单
//测试函数声明
void Test1(void); //"Str_ReverseOrder"函数测试
void Test2(void); //"my_strlen"函数测试
void Test3(void); //"my_strcpy"函数测试
void Test4(void); //"my_strcat"函数测试
void Test5(void); //"my_strcmp"函数测试
void Test6(void); //"my_strstr"函数测试
void Test7(void); //"my_strchr"函数测试
void Test8(void); //"my_strncpy"函数测试
void Test9(void); //"my_strncat"函数测试
void Test10(void); //"my_strncmp"函数测试
void Test11(void); //"Bit_Reverse"函数测试
void Test12(void); //"ChrReplace"函数测试
void Test13(void); //"StrReplace"函数测试
/*********************************************************************************
* Function Name : main主函数
* Parameter : NULL
* Return Value : 0
* Function Explain :
* Create Date : 2018.1.27
**********************************************************************************/
int main(void)
{
int cmd;
while(1)
{
PrintfMenu(); //菜单
scanf("%d",&cmd); //菜单命令
switch(cmd)
{
case 1: Test1(); break; //"Str_ReverseOrder"函数测试
case 2: Test2(); break; //"my_strlen"函数测试
case 3: Test3(); break; //"my_strcpy"函数测试
case 4: Test4(); break; //"my_strcat"函数测试
case 5: Test5(); break; //"my_strcmp"函数测试
case 6: Test6(); break; //"my_strstr"函数测试
case 7: Test7(); break; //"my_strchr"函数测试
case 8: Test8(); break; //"my_strncpy"函数测试
case 9: Test9(); break; //"my_strncat"函数测试
case 10:Test10(); break; //"my_strncmp"函数测试
case 11:Test11(); break; //"Bit_Reverse"函数测试
case 12:Test12(); break; //"ChrReplace"函数测试
case 13:Test13(); break; //"StrReplace"函数测试
case 0:system("cls");break; //清屏
case -1:exit(0);break; //退出
default:
printf("Input error!Please input again!\n");
break;
}
}
return 0;
}
/*********************************************************************************
* Function Name : STR_ReserveOrder,字符串逆序函数
* Parameter : src_str:字符串 str_len:字符串长度
* Return Value : dst_str:逆序之后得到的字符串
* Function Explain :
* Create Date : 2018.1.27
**********************************************************************************/
#if 0 //方法1
char *Str_ReverseOrder(char *src_str,int str_len)
{
char *dst_str = src_str;
char temp;
printf("Method 1!\n");
for(int i=0;i<str_len/2;i++)
{
temp = src_str[i]; //或者temp = *(src_str + i);
src_str[i] = src_str[str_len-i-1]; //或者*(src_str + i) = *(src_str + str_len - i - 1);
src_str[str_len-i-1] = temp; //或者*(src_str + str_len - i - 1) = temp;
}
return (char*)dst_str;
}
#else //方法2
char *Str_ReverseOrder(char *src_str,int str_len)
{
char *str1,*str2,temp;
printf("Method 2!\n");
str1 = src_str; //指向字符串的头
str2 = src_str + str_len - 1; //指向字符串的尾
while(str1<str2)
{
temp = *str1;
*str1 = *str2;
*str2 = temp;
str1++;
str2--;
}
return str2;
}
#endif
/*********************************************************************************
* Function Name : my_strlen,求字符串长度
* Parameter : src_str:字符串 str_len:字符串长度
* Return Value : dst_str:逆序之后得到的字符串
* Function Explain :
* Create Date : 2018.1.28
**********************************************************************************/
#if my_strlen_1 //方式1:定义一个计数器
int my_strlen(const char *str)
{
int len_count = 0; //长度计数值
while(*str)
{
len_count++;
str++;
}
return len_count;
}
#elif my_strlen_2 //方式2:运用递归
int my_strlen(const char *str)
{
if(*str=='\0')
return 0;
else
return my_strlen(str+1) + 1;
}
#else //方式3:运用指针
int my_strlen(const char *str)
{
const char *end = str;
while(*end++);
return end - str -1;
}
#endif
/*********************************************************************************
* Function Name : my_strcpy,字符串拷贝函数
* Parameter : src_str:源字符串 dest:目标字符串
* Return Value :
* Function Explain :
* Create Date : 2018.1.30
**********************************************************************************/
char *my_strcpy(char *dest, char *src)
{
assert(dest);
assert(src);
if(!(dest&&src))
return NULL;
while(*dest++ = *src++);
return dest;
}
/*********************************************************************************
* Function Name : my_strcat,字符串拼接函数
* Parameter : src_str:源字符串 dest:目标字符串
* Return Value :
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
char *my_strcat(char *dest,char *src)
{
assert(dest);
assert(src);
while(*dest!='\0')
{
dest++;
}
while(*dest++=*src++);
return dest;
}
/*********************************************************************************
* Function Name : my_strcmp,字符串比较函数
* Parameter : str1,str2
* Return Value : 0:str1等于str2;<0:str1小于str2;>0:str1小于str2
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
int my_strcmp(char *str1,char *str2)
{
while(*str1==*str2)
{
if(*str1=='\0')
{
return 0;
}
str1++;
str2++;
}
return *str1-*str2;
}
/*********************************************************************************
* Function Name : my_strstr, 在str中查找substr的第一次出现的位置
* Parameter : str,substr
* Return Value : 返回该位置的指针
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
char *my_strstr(char *str, char *substr)
{
char *p = str;
char *q = substr;
char *cur = NULL;
assert(str);
assert(substr);
if(substr=='\0')
return str;
while(*p)
{
cur = p;
while((*p)&&(*q)&&(*p==*q))
{
p++;
q++;
}
if(*q=='\0')
return cur;
p = cur + 1;
q = substr;
}
return NULL;
}
/*********************************************************************************
* Function Name : my_strchr, 在str中查找字符c第一次出现的位置
* Parameter : str,c
* Return Value : 返回该位置的指针
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
#if 1 //方法1
char *my_strchr(char *str, char c)
{
char *temp = str;
assert(str);
while(*temp)
{
if(*temp==c)
{
return temp;
}
temp++;
}
return NULL;
}
#else //方法2
char *my_strchr(char *str, char c)
{
while( (*str!='\0')&&(*str!=c) )
{
++str;
}
return *str==c?str:NULL;
return NULL;
}
#endif
/*********************************************************************************
* Function Name : my_strncpy, 在src中拷贝maxlen个字符到dest中
* Parameter : dest:目标字符串 src:源字符串 maxlen:字符个数
* Return Value : 返回该位置的指针
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
char *my_strncpy(char *dest, char *src, int maxlen)
{
assert(dest);
assert(src);
while(maxlen--)
{
*dest++ = *src++;
}
if(*dest!='\0')
{
*dest = '\0';
}
return dest;
}
/*********************************************************************************
* Function Name : my_strncat, 拼接src中maxlen个字符到dest中尾部
* Parameter : dest:目标字符串 src:源字符串 maxlen:字符个数
* Return Value : 返回该位置的指针
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
char *my_strncat(char *dest, char *src, int maxlen)
{
assert(dest);
assert(src);
while(*dest!='\0')
{
dest++;
}
while(maxlen--)
{
*dest = *src;
dest++;
src++;
}
*dest = '\0'; //不要漏了这条语句
return dest;
}
/*********************************************************************************
* Function Name : my_strncat, 拼接src中maxlen个字符到dest中尾部
* Parameter : dest:目标字符串 src:源字符串 maxlen:字符个数
* Return Value : 返回该位置的指针
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
int my_strncmp(char *str1, char *str2, int maxlen)
{
assert(str1);
assert(str2);
while(maxlen--)
{
while(*str1==*str2)
{
if(*str1=='\0')
{
return 0;
}
else
{
return *str1-*str2;
}
}
}
return 0;
}
/*********************************************************************************
* Function Name : Bit_Reverse,位转换
* Parameter : chr:一个uint型的16进制数
* Return Value : new_chr:新的16进制数
* Function Explain : 如输入aa(10101010),则输出55(01010101)
* Create Date : 2018.2.6
**********************************************************************************/
uint8 Bit_Reverse(uint8 chr)
{
uint8 new_chr = 0;
int bit = 8;
while(bit)
{
bit--;
new_chr |=((chr&1)<<bit);
chr >>= 1;
}
return new_chr;
}
/*********************************************************************************
* Function Name : ChrReplace,字符替换
* Parameter : dest:目标字符串 src:源字符串 c1:旧字符 c2:新字符
* Return Value :
* Function Explain :
* Create Date : 2018.2.19
**********************************************************************************/
void ChrReplace(char *dest, char *src, char c1, char c2)
{
char *p_src = src;
for(int i=0;i<strlen(p_src);i++)
{
if(c1==p_src[i])
{
p_src[i] = c2;
}
}
strcpy(dest,p_src);
}
/*********************************************************************************
* Function Name : ChrReplace,字符替换
* Parameter : dest:目标字符串 src:源字符串 s1:旧字符串 c2:新字符串
* Return Value :
* Function Explain :
* Create Date : 2018.2.19
**********************************************************************************/
void StrReplace(char *dest,char *src,char *s1,char *s2)
{
char *p_src = src;
char *q = NULL;
while((q=strstr(p_src, s1))!=NULL)
{
printf("%s\n",q);
strncpy(dest, p_src, q-p_src); //把q前面的字符串拷贝到dest中
dest[q-p_src] = '\0'; //添加结束符
strcat(dest, s2); //把s2拼接到dest的末尾
strcat(dest, q+strlen(s1)); //把s1后面的字符串拼接到dest的末尾
strcpy(p_src, dest);
}
strcpy(dest, p_src);
}
/*********************************************************************************
* Function Name : PrintfMenu,打印菜单
* Parameter : void
* Return Value : NULL
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void PrintfMenu(void)
{
printf("------------------------Menu----------------------------\n");
printf("[01] Function Str_ReverseOrder test;\n");
printf("[02] Function my_strlen test;\n");
printf("[03] Function my_strcpy test;\n");
printf("[04] Function my_strcat test;\n");
printf("[05] Function my_strcmp test;\n");
printf("[06] Function my_strstr test;\n");
printf("[07] Funciton my_strchr test;\n");
printf("[08] Function my_strncpy test;\n");
printf("[09] Function my_strncat test;\n");
printf("[10] Function my_strncmp test;\n");
printf("[11] Function Bit_Reverse test;\n");
printf("[12] Function ChrReplace test;\n");
printf("[13] Function StrReplace test;\n");
printf("[00] Clear screen;\n");
printf("[-1] Exit;\n");
printf("--------------------------------------------------------\n");
printf("Enter your choice: ");
}
/* ====================================以下是测试函数============================== */
/*********************************************************************************
* Function Name : Test1, 测试"Str_ReverseOrder"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test1(void)
{
char str[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string:");
scanf("%s",str);
Str_ReverseOrder(str, strlen(str));
printf("Afer reserve order string:%s\n",str);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test2, 测试"my_strlen"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test2(void)
{
char str[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string:");
scanf("%s",str);
printf("The string length is:%d\n",my_strlen(str));
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test3, 测试"my_strcpy"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test3(void)
{
char str[SIZE], dest[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string:");
scanf("%s",str);
my_strcpy(dest,str);
printf("After my_strcpy,the string is:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test4, 测试"my_strcat"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test4(void)
{
char str[SIZE], dest[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string1 and string2(exp:abc cde):");
scanf("%s %s",dest,str);
my_strcat(dest,str);
printf("After my_strcat,the string is:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test5, 测试"my_strcmp"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test5(void)
{
char str1[SIZE],str2[SIZE];
int ret;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string1 and string2(exp:aaa bbb):");
scanf("%s %s",str1,str2);
ret = my_strcmp(str1,str2);
if(ret>0)
{
printf("string1 is greater than string2\n");
}
else if(ret<0)
{
printf("string1 is less than string2\n");
}
else
{
printf("string1 is equal to string2\n");
}
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test6, 测试"my_strstr"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test6(void)
{
char str[SIZE], substr[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string and substring(exp:abcdef cd):");
scanf("%s %s",str,substr);
printf("The substring is: %s\n", my_strstr(str,substr));
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test7, 测试"my_strchr"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test7(void)
{
char str[SIZE];
uint8 chr;
char *ptr;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string and char(exp:abcdef c):");
scanf("%s %c",str,&chr);
ptr = my_strchr(str,chr);
if (ptr)
printf("The character %c is at position: %d\n", chr, ptr-str);
else
printf("The character was not found\n");
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test8, 测试"my_strncpy"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test8(void)
{
char str[SIZE], dest[SIZE];
int len;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string and strlen(exp:hello 3):");
scanf("%s %d",str,&len);
my_strncpy(dest,str,len);
printf("After my_strncpy,the string is:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test9, 测试"my_strncat"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test9(void)
{
char str[SIZE], dest[SIZE];
int len;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string1 and string2 and string2 len(exp:abc cdefg 3):");
scanf("%s %s %d",dest,str,&len);
my_strncat(dest,str,len);
printf("After my_strncat,the string is:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test10, 测试"strncmp"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test10(void)
{
char str1[SIZE],str2[SIZE];
int len;
int ret;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input string1 and string2 and string2 len(exp:aaabbb bbbccc 3):");
scanf("%s %s %d",str1,str2,&len);
ret = strncmp(str1,str2,len);
if(ret>0)
{
printf("string1 is greater than string2\n");
}
else if(ret<0)
{
printf("string1 is less than string2\n");
}
else
{
printf("string1 is equal to string2\n");
}
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test11, 测试"Bit_Reverse"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test11(void)
{
uint8 chr;
printf("--------------------%s start!--------------------\n",__FUNCTION__);
printf("Please input a chr(exp:aa):");
scanf("%x",&chr);
printf("%x\n",Bit_Reverse(chr));
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test12, 测试"ChrReplace"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test12(void)
{
char src[SIZE] = "ab66 c66d 66ef hello world";
char dest[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
ChrReplace(dest, src, ' ', '_' ); //把src里所有' '字符替换成'_'字符,结果存在dest中
printf("Final string:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}
/*********************************************************************************
* Function Name : Test13, 测试"StrReplace"函数
* Parameter : void
* Return Value : void
* Function Explain :
* Create Date : 2018.1.29
**********************************************************************************/
void Test13(void)
{
char src[SIZE] = "ab66 c66d 66ef hello world";
char dest[SIZE];
printf("--------------------%s start!--------------------\n",__FUNCTION__);
StrReplace(dest, src, "66", "****"); //把src里所有"66"字符替换成"****"字符,结果存在dest中
printf("Final string:%s\n",dest);
scanf("%*[^\n]");scanf("%*c"); //清空缓冲区
printf("--------------------%s end!--------------------\n",__FUNCTION__);
printf("\n");
}