目录
一、判断类字符串
#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];