c++中常用的一些函数,记录下来以防忘记!!!
首先,字符串string类:
输入:
#include <string>
string str;
getline(cin,str);
int len=str.length();
int ipos=str.find('a',6);//从str的第六个位置处开始查找'a'
int ipos=str.rfind('a');//从后往前查找
str.find_first_of,str.find_last_of
ipos==str.npos;//表示查找失败
str1==str2;//string类字符串可以直接用==判断字符串是否相等
string str2=str+”hello”;//字符串拼接
string word=str.substr(index_begin,length);//返回str中从index_begin开始的length个字符
字符串转数字(atoi):
int str2num(char* str){
int result=0;
int flag=1;//记录正负号
int max=(pow(2,31)-1)/10;//处理越界问题
int remainder=(pow(2,31)-1)%10;
if(str==NULL){
pritnf("Input is empty!");
return 0;
}
while(*str==' ')
str++;
if(*str=='-')
flag=-1;
if(*str=='-' || *str=='+')
str++;
while(*str!='/0'){
if(*str>'9' || *str<'0'){
printf("The input is not an integer!");
return 0;
}
int tmp=*str-'0';
if(result>max || (result==max && tmp>remainder)){
pritnf("The input is voer the range!");
return 0;
}
result=result*10+tmp;
}
result=result*flag;
return result;
}