c语言函数分析工具,C语言工具函数

---恢复内容开始---

8f900a89c6347c561fdf2122f13be562.png根据步长切割字符串:strsplit

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 /*************************************************

2 *函数功能:使用newstr替换oldstr,若newstr为空,则表示删除

3 *参数str:待处理的字符串

4 *参数oldstr:旧字符串

5 *参数newstr:新字符串(可传NULL)

6 *返回值:返回处理得到的字符串

7 *备注:调用需包含string.h

8 *************************************************/

9 char *strrpc(char *str,char *oldstr,char *newstr)

10 {

11 char bstr[1024] = {0};//转换缓冲区

12 int i = 0;

13

14 if(!str||!oldstr) return NULL;

15 for(i=0;i

16 {

17 if(!strncmp(str+i,oldstr,strlen(oldstr)))

18 {//查找目标字符串

19 if(newstr!=NULL) {strcat(bstr,newstr);}//newstr参数若为NULL,则表示删除字符串

20 i += strlen(oldstr)-1;

21 }else{

22 strncat(bstr,str+i,1);//保存一字节进缓冲区

23 }

24 }

25

26 strcpy(str,bstr);

27 return bstr;

28 }

29

30 /************************************************/

31 //用例:将FF0C替换成002C,并删除00

32 /************************************************/

33 #include

34 #include

35

36 char *strrpc(char *str,char *oldstr,char *newstr)

37 {

38 char bstr[1024] = {0};//转换缓冲区

39 int i = 0;

40

41 if(!str||!oldstr) return NULL;

42 for(i=0;i

43 {

44 if(!strncmp(str+i,oldstr,strlen(oldstr)))

45 {//查找目标字符串

46 if(newstr!=NULL) {strcat(bstr,newstr);}//newstr参数若为NULL,则表示删除字符串

47 i += strlen(oldstr)-1;

48 }else{

49 strncat(bstr,str+i,1);//保存一字节进缓冲区

50 }

51 }

52

53 strcpy(str,bstr);

54 return bstr;

55 }

56

57 int main()

58 {

59 char str[] = "00630065006E007400650072FF0C0061FF0C0031003200330034003500360023";

60 char str_tmp[80] = {0};

61

62 printf("%s\n",str);

63

64 strrpc(str,"FF0C","002C");

65 strrpc(str,"00",NULL);

66

67 printf("\n%s\n",str);

68

69 return 0;

70 }

替换字符串:strrpc

---恢复内容结束---

8f900a89c6347c561fdf2122f13be562.png根据步长切割字符串:strsplit

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 /*************************************************

2 *函数功能:使用newstr替换oldstr,若newstr为空,则表示删除

3 *参数str:待处理的字符串

4 *参数oldstr:旧字符串

5 *参数newstr:新字符串(可传NULL)

6 *返回值:返回处理得到的字符串

7 *备注:调用需包含string.h

8 *************************************************/

9 char *strrpc(char *str,char *oldstr,char *newstr)

10 {

11 char bstr[1024] = {0};//转换缓冲区

12 int i = 0;

13

14 if(!str||!oldstr) return NULL;

15 for(i=0;i

16 {

17 if(!strncmp(str+i,oldstr,strlen(oldstr)))

18 {//查找目标字符串

19 if(newstr!=NULL) {strcat(bstr,newstr);}//newstr参数若为NULL,则表示删除字符串

20 i += strlen(oldstr)-1;

21 }else{

22 strncat(bstr,str+i,1);//保存一字节进缓冲区

23 }

24 }

25

26 strcpy(str,bstr);

27 return bstr;

28 }

29

30 /************************************************/

31 //用例:将FF0C替换成002C,并删除00

32 /************************************************/

33 #include

34 #include

35

36 char *strrpc(char *str,char *oldstr,char *newstr)

37 {

38 char bstr[1024] = {0};//转换缓冲区

39 int i = 0;

40

41 if(!str||!oldstr) return NULL;

42 for(i=0;i

43 {

44 if(!strncmp(str+i,oldstr,strlen(oldstr)))

45 {//查找目标字符串

46 if(newstr!=NULL) {strcat(bstr,newstr);}//newstr参数若为NULL,则表示删除字符串

47 i += strlen(oldstr)-1;

48 }else{

49 strncat(bstr,str+i,1);//保存一字节进缓冲区

50 }

51 }

52

53 strcpy(str,bstr);

54 return bstr;

55 }

56

57 int main()

58 {

59 char str[] = "00630065006E007400650072FF0C0061FF0C0031003200330034003500360023";

60 char str_tmp[80] = {0};

61

62 printf("%s\n",str);

63

64 strrpc(str,"FF0C","002C");

65 strrpc(str,"00",NULL);

66

67 printf("\n%s\n",str);

68

69 return 0;

70 }

替换字符串:strrpc

标签:函数,oldstr,C语言,char,str,字符串,工具,NULL,newstr

来源: https://www.cnblogs.com/q10040/p/11691359.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值