c++string常用用法总结1

c++中string常用用法1

  • 一定要引用的包
  • 获取string字符串的长度
  • 获取char型数组的长度
  • string查找特定字符串
  • string转char[]或char*
  • char[]转string
  • 输入一行到char[],忽略空格,遇换行符结束输入
  • 输入字符串,去除非字母
  • char[],string字母转大写,转小写

一定要引用的包

#include //有时候不能去掉c,如果要用strlen函数的话

获取string字符串的长度

str.size(); //这两者都能求得string的长度
str.length();//记得自己赋初值

获取char型数组的长度

char ch[100];
strlen(ch);//查找到‘\0’停止计数,所以此方法获取char型数组的长度不定
           //因为char型数组不会自动在末尾添加‘\0’,除非自己手动在末尾添‘\0’
           //但是String会,但不能用来获取String的长度
sizeof(ch);//获得的是所占用的内存空间,此例输出为100

string查找特定字符串

string str,str_first;//记得自己赋初值
 if(str.find(str_first)!=string::npos)
 {
        cout<<“字符串str不包含特定字符串str_first”<

string转char[]或char*

方法一:

String str;//记得自己赋初值
char p[40001];
str.copy(p, str.size(), 0);//表示把str的值复制给p数组
 //第二个空格表示:复制的长度,一般是把整个字符串复制给p数组
//第三个空格表示:从字符串str的第几个开始复制(和数组下标一样,从0开始,不是1)

方法二:

string str ;//记得自己赋初值
const char* p = str.data();//不能去掉const,也不能直接转成char[]

方法三:

string str;//记得自己赋初值
const char *p = str.c_str();//不能去掉const,也不能直接转成char[]

char[]转string

string str;
char p[100];//记得自己赋初值
str=p;//覆盖掉
str+=p;//在string后面追加

输入一行到char[],忽略空格,遇换行符结束输入

#include //必须引用
char a[50000];
getchar();//如果前面有过输入,并且按过换行,则必须加,因为缓存区里面第一个就是换行
         //getchar是从缓存区里面拿值,char型值
while(gets(a)){//必须是char数组,此时输入遇到换行符停止输入,遇到空格不会停止输入
         //执行剩余的操作
}

输入字符串,去除非字母

int k=0,len=100;
char a[len];
for(int i=0;i

char[],string字母转大写,转小写

原生态方法:

char a[100];
if('A'<=a[i]&&a[i]<='Z')
 {
      a[i]+=32;//转小写,如果只需要转大写,则注释该行
 }
if('a'<=a[i]&&a[i]<='z')
 {
      a[i]-=32;//转大写
 }

库提供方法:string转大小写

 #include  //必须引用
 string str="abCd12#$%";
transform(str.begin(), str.end(), str.begin(), ::toupper); //转大写,遇到非字母也没事
transform(str.begin(), str.end(), str.begin(), ::tolower); //转小写

库提供方法:char转大小写

scanf("%s",ch);
int len=strlen(ch);
for(int i=0; i

你可能感兴趣的:(c++)