【c++碎碎念】字符与字符串的处理函数(后续还会再补充)

目录

一、判断类字符串

二、字符串拷贝和拼接

三、字符串比较函数

四、字符串查找函数

五、大小写转换

六、字符串转换成数字

七、将浮点数的整数部分和小数部分进行分离

八、sort函数

九、实现逆序排序

一、判断类字符串

#include <string.h>

char ch ;

1、int isalpha(ch)//判断字母字符,如果是字母,返回非0值,如果不是就返回0值

2、int isspace(ch);//判断是否是空格,用法跟上述一样

3、int isdigit(ch);//判断是否是数字字符,用法跟上述一样

4、int ispunct(ch)//判断是否是标点字符,用法跟上述一样

二、字符串拷贝和拼接

1、strlen() ;//获取字符串的长度(不包括\0)

size_t num=strlen("hello");
cout<<num<<endl;

2、char * strcpy(char * dest,const char * src);//将src中的字符串拷贝到dest中

char dest[15]=" ";
char *res=strcpy(dest,"hello");
cout<< res<< endl;
cout<< dest <<endl;

3、char *strncpy(char * dest,const char * src,int_t num);//将src中前num个字符串拷贝到dest中

char dest[15]=" ";
char *res=strcpy(dest,"hello",3);
cout<< res<< endl;
cout<< dest <<endl;

4、char * strcat(char * dest,const char *src)//将src中的字符拼接在dest后面

char dest[15]="he";
char * res=strcat(dest,"llo");
cout<<res<<endl;//hello

5、char * strcat(char * dest,const char *src,int n)//将src中的前n个字符拼接在dest字符串的后面

char dest[15]="he";
char *str=strncat(dest,"lloworld",5);
cout<<str<<endl;//hellowo

三、字符串比较函数

1、int strcmp(const char *str1,const char *str2);

返回值:

如果返回小于0,则表示str1<str2;

如果返回等于0,则表示str1=str2;

如果返回大于0,则表示str1>str2;

附加:

int strncmp(const char *str1,const char *str2),size_t n;

最多比较前n个字节

int num=strcmp("abcd","ABCD");
cout<<num<<endl;//1,证明abcd大于ABCD

2、stricmp(const char *str1,const char *str2)//忽略大小写比较

int res=stricmp("hello","HELLO");
cout<<res<<endl;//0

四、字符串查找函数

char * strchr(const char *s,int c)//在字符串s中查找字符c第一次出现的位置(地址)

char buf[20]="helloworld";

char *p=strchr(buf,'l');
cout<<p<<endl;//lloworld

char *strstr(const char* s,const char* t)//在字符串s中查找第一次出现t的位置

char s[8]="noodles";
char t[5]="dles";
char *res=strstr(s,t);
cout<<res<<endl;//dles

五、大小写转换

char *strupr(char *ch)//将字符串ch中的大写转换成小写

char ch[6]="HELLO";
char *sh=strupr(ch);
cout<<sh<<endl;

#include <ctype.h> 

int toupper(int num);//将小写字母转换为大写字母,如果不是字母则不转换

六、字符串转换成数字

int atoi(const char *str);//将字符串str 转换成数字

#include <stdlib.h>
char buf[5]="1234";
int ret=atoi(buf);
cout<<ret<<endl;//1234

七、将浮点数的整数部分和小数部分进行分离

#include <math.h>

double modf(double val,double* num);

        分析:val:代表给定的原值,num:代表整数部分,通过modf函数后就会出来小数部分

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    double val=28.34,num,str;
    
    str = modf(val,&num);
    cout<<str<<endl;//str=0.34
    return 0;
}

八、sort函数

sort(start,end,排序方法);

功能:可实现int型、string型、double型、char型比较大小

1、如果没有第三个参数(排序方法),则实现从小到大

2、如果有第三个参数,可实现从大到小

bool cmp(int a,int b)

{

        return a>b;

}

sort(start,end,cmp);

九、实现逆序排序

1、对单词串进行逆序排序可以用栈操作stack,因为栈是先进后出,所以,先进去的最后出来,最后进去的先出来。 

 2、对数字串进行逆序排序,采用除10取余法,将这些余数输出就实现了逆序输出了。

3、对字符串进行逆序输出,采用从最后往前遍历的思想:

for(int i=str.size()-1;i>=0;i--)

cout<<str[i]; 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值