C语言字符串的常见特殊操作(除了string.c实现的那些接口)
来源:互联网 发布:剑侠情缘2白金版 mac 编辑:程序博客网 时间:2024/05/22 06:57
字符串操作中,必须掌握的一些之前已经在文章有写过了,比如说字符串查找,字符串粘帖,字符串拷贝等等,这些在标准C库的string.c中已经有实现,故包含#include <string.h>就可以使用了。
除了上述所说的接口,还有一些在工作中常用的接口,比如:从字符串中删除指定的字符,删除字符串的第一个字符,将字符串左右翻转等等,今天就挑几个这样的接口来说一下:
我们直接上代码:
#include <stdio.h>#include <stdlib.h>#include <string.h>#define uchar unsigned char #define uint unsigned int //删除字符串中所有的数字 void del_str_Num(char* str){static int i , j;while(str[i]!='\0'){if(str[i]>'9'||str[i]<'0')str[j++]=str[i];i++;}str[j]='\0';}//删除字符串中的第一个字符 static char* ltrim(char *s, char c){ while(*s!=0&&*s==c) s++; return s;}//查找并删除字符串中指定的任意字符 static char *delstr_c(char s[100] , char c){char *p , *q ;for(p = s , q = s ; *p != '\0' ; p++)if(*p != c)*q++ = *p ; *q = *p ;return s ;}/*将字符串s中出现的字符c删除*/ void del_str_c(char s[],int c) { int i,j; for (i = 0, j = 0; s[i] != '\0'; i++) { if (s[i] != c) { s[j++] = s[i]; } } s[j] = '\0'; } //查找字符串中的字符并将对应的字符删除 char *strdel_c(char *s,char c) { char *p=s,*q=s; for(;*p;p++) { if(*p != c ){ if(q == p) q++ ; else *q++ = *p ;} } *q = '\0'; return s;}//将字符串左右翻转 char* strfilp(char* str) { //h指向str的头部 char* h = str; char* t = str; char ch; //t指向s的尾部 while(*t++) ; t--; //与t++抵消 t--; //回跳过结束符'\0' //当h和t未重合时,交换它们所指向的字符 while(h < t) { ch = *h; *h++ = *t; //首尾移动 *t-- = ch; } return(str); } int main(){char str[20] = "23.3hhlo965" ;char *str1 = "hello"; del_str_c(str , '.'); //删除该字符串中的.printf("%s\n",str);del_str_Num(str); //删除该字符串中的所有数字printf("%s\n",str);strfilp(str); //将字符串左右翻转printf("%s\n",str);return 0;}</span>运行结果:
上述实现的接口,我只测试了其中的三个,剩下的基本上都是雷同,只是用不同的方法去实现罢了。
0 0
- C语言字符串的常见特殊操作(除了string.c实现的那些接口)
- 常见的字符串操作(C语言实现)
- C的字符串操作接口实现
- C语言实现字符串的操作
- 实现C语言字符串操作的库函数
- 实现C语言字符串操作的库函数
- 字符串的基本操作,c语言实现
- 【整理】C语言中常见的字符串操作函数
- C语言字符串常见操作
- C语言字符串string(char)的操作函数
- c语言string.h中常用的字符串操作函数
- C语言字符串的那些事儿
- 常见的字符串匹配算法对比实现C语言版本
- C语言实现常见的字符串处理函数
- 常见字符串函数的模拟实现(一)(c语言)
- C语言的字符串操作
- C语言的字符串操作
- c语言的那些操作符
- 思维导图及绘制思维导图的软件
- 解决错误 ImportError: No system module 'pywintypes' (pywintypes27.dll)
- POJ 3320 Jessica's Reading Problem
- Java设计模式之二:抽象工厂AbstractFactory
- Mysql中组合的insert和update语句
- C语言字符串的常见特殊操作(除了string.c实现的那些接口)
- 线性表之顺序表--类似于java库中的ArrayList
- 测试设计思路
- HDOJ 4089 Activation (概率DP + 迭代)
- The Data scientist's Toolbox -- git&github基础命令
- linux 64位系统的指针为8字节
- CodeForces 625A Guest From the Past
- 操作系统之中断(四)
- [0.2] scala开发环境搭建及第一个应用程序