去掉字符串中的某个字符函数—以‘0’为例
2010-10-22 11:23
162 查看
#include <stdio.h> #include <stdlib.h> #include <string.h> /******************************************************** *函 数:void delzero(char *pData, int isize) *功 能:去掉数据缓冲区(首地址为pData)中数据中的0 * (最多连续3个0)字符,数据以4个字符0终止。 *参 数:pData:数据缓冲区首地址 * isize:缓冲区最大长度 *返回值:无 //********************************************************/ void delzero(char *pData, int isize) { int i=0, j=0, count=0; char *tData, *nData; tData = pData; /*合法性检测*/ if(pData == NULL) { perror("pData:"); return; } nData = (char *)malloc(isize); //申请一段空间nData,用于存放非0字符 for(i=0,j=0; i<isize; i++) { if(*(tData+i)!= '0') { *(nData+(j++)) = *(tData+i);//非0字符存放到nData空间去 count = 0; } else { count++; if(count == 4) { memset(nData+j, '0', 4);//判断数据结束,且给数据加上结束符,即4个0字符 break; } } } memcpy(pData, nData, isize); //去掉数据段中的0且有4个0为结束符的数据拷贝给原数据地址 free(nData); //释放空间,防止内存泄露 return; } int main(void) { char str[] = "000jfdjf000JF00DKLFJ0000FJDKLJ000FLD"; delzero(str, strlen(str)); printf("str:%s/n",str); }
相关文章推荐
- 三种java 去掉字符串中的重复字符函数
- 替换字符串中某个字符的函数
- shell中判断变量是否为整型,字符,字符串等的函数
- 自己实现的一个字符串分割截取函数,以及查找指定字符
- JavaScript 字符串操作(给索引查字符/给字符查索引/uri 编码和解码/字符串拼接/字符串截取/去掉空白/替换/变为数组/查找字符串中所有匹配项)
- 去掉字符串中的非数字字符
- 16字符和字符串常用处理函数
- 学习笔记6——字符,字符串,malloc()函数,单引号,双引号
- C语言:实现一个函数,可以左旋字符串中的k个字符。
- 递归实现将参数字符串中的字符反向排列,要求不能使用C函数库中的字符串操作函数
- 去掉字符串里特殊字符的正则表达式方求
- 【C语言天天练(十七)】字符/字符串输出函数fputc、fputs、putc、putchar和puts
- JS编写一个函数,实现传入一个不定长度字符串,查找出重复次数前n名的字符并分别统计其次数
- 实现一个函数,可以左旋字符串中的k个字符
- 练习 2-5 编写函数 any(s1, s2),将字符串s2中的任一字符在字符串s1中第一次出现的位置作为结果返回。如果s1中不包含s2中的字符,则返回-1。
- 字符串包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数
- Delphi 字符、字符串、字符数组和字符指针及其相关函数
- 用fputc()函数以字符串形式写入字符到磁盘文件
- 用trim去掉字符串末尾的任意字符
- 字符串比较函数strncasecmp():比较字符串的前n个字符|字符串查找函数strstr和string.find() 查找字符串str1中是否存在与str2一样的子字符串