由浅入深C系列六:C中实现字符串trim的功能
C中实现字符串trim的功能
- 简介
- 设计思路
- 代码实现
- 运行效果
简介
一个项目中,需要用c语言实现对字符串中的字定字符进行过滤并从字符串的删除,查询了C语言的基本库,没有发现有这样的函数,于是发挥程序员的主观能力性,自力更生就啥都有了。
设计思路
主要利用指针来对字条串进行遍历,遇到对应的字符后,则跳过过复制到新串的动作;其它的正常进行复制到新串的动作。
代码实现
char* strtrim(char *src, char c)
{char* output = (char*)malloc( strlen(src)*sizeof(char)+1 );memset(output, 0, strlen(src));char* in = src;char* ot = output;while(*in) {if (*in == c){*in++;continue;}else{*ot = *in;*ot++;*in++;}}return output;
}
运行效果
[Aug 14 2023 00:41:20] [src/osmp.c.101] [main] [DEBUG] Refore "code":"xdfiesdf9iersdfk;asdfjnm"
[Aug 14 2023 00:41:20] [src/osmp.c.102] [main] [DEBUG] After code:xdfiesdf9iersdfk;asdfjnm