C语言字符串的常见特殊操作(除了string.c实现的那些接口)

简介:

字符串操作中,必须掌握的一些之前已经在文章有写过了,比如说字符串查找,字符串粘帖,字符串拷贝等等,这些在标准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>
运行结果:


上述实现的接口,我只测试了其中的三个,剩下的基本上都是雷同,只是用不同的方法去实现罢了。


目录
相关文章
|
8月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
448 100
|
8月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
609 99
|
8月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
8月前
|
开发者 Python
Python f-string:高效字符串格式化的艺术
Python f-string:高效字符串格式化的艺术
|
9月前
|
Python
Python中的f-string:更简洁的字符串格式化
Python中的f-string:更简洁的字符串格式化
424 92
|
Linux C语言 iOS开发
C语言结合AWTK开发HTTP接口访问界面
这样,我们就实现了在C语言中使用libcurl和AWTK来访问HTTP接口并在界面上显示结果。这只是一个基础的示例,你可以根据需要添加更多的功能和优化。例如,你可以添加错误处理机制、支持更多HTTP方法(如POST、PUT等)、优化用户界面等。
663 82
|
10月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
471 14
|
10月前
|
安全 C语言
C语言中的字符、字符串及内存操作函数详细讲解
通过这些函数的正确使用,可以有效管理字符串和内存操作,它们是C语言编程中不可或缺的工具。
435 15