1.string删除元素
string m,n;
int temp=m.find(n);
m.erase(temp,n.size()); //删除m中的n
2. oct 八进制 dec 十进制
二进制转化十进制
#inlcude<cmath>
int twototen(string a)
{
int len=a.size();
int dec=0;
for(int i=0;i<len;i++)
{
if(a[i]=='1')
{
dec+=pow(2.0,len-1-i);
}
}
return dec;
}
八进制,十六进制转化为10进制即利用oct,hex输入,dec输出即可
3.cin>>setw(10) 即可控制每次输出接受的长度
4.string删除重复元素也可以通过unique(在#include)来删除
#include<algorithm>
string a;
string::iterator it=unique(a.begin(),a.end());
a.erase(it,a.end());
也可以通过set容器去删除 注意set类型为char (seta)
5.在#include中 setfill('0')填入0
setfill('0')配合setw(2)使用能让不足两位的补上0
5.十六进制转十进制
int convert(string a)
{
int len=a.size();
int sum=0;
for(int i=0;i<len;i++)
{
if(isdigit(a[i])) sum+=(a[i]-'0')*pow(16.0,len-i-1);
else if(islower(a[i])) sum+=(a[i]-'87')*pow(16.0,len-i-1);
else if(isupper(a[i])) sum+=(a[i]-'55')*pow(16.0,len-i-1);
}
return sum;
}
6.getchar()一个一个的接受char字符包括空格和回车