计算“1+2”
#include <iostream>
#include<cstdlib>
#include<string>
#include<sstream>//需要添加字符串
using namespace std;
int str2num(string s)//使字符串转化为数字
{
int n;
stringstream ss;
ss<<s;
ss>>n;
return n;
}
int main()
{
string s="1+2";
string s1="+";
int n1=s.find(s1,0);
int n2=n1+1;
string s2=s.substr(0,n1);//取出等号前面的数
string s3=s.substr(n2,s.size()-n2);//取出等号后面的数
cout<<str2num(s2)+str2num(s3)<<endl;
return 0;
}
计算6*2
#include <iostream>
#include<cstdlib>
#include<string>
#include<sstream>//需要添加字符串
using namespace std;
int str2num(string s)
{
int n;
stringstream ss;
ss<<s;
ss>>n;
return n;
}
int main()
{
string s="6*2";
int n1=s.find("*",0);
int n2=n1+1;
string s1=s.substr(0,n1);
string s2=s.substr(n2,s.size()-n2);
cout<<str2num(s1)*str2num(s2)<<endl;
return 0;
}
解析字符串之去空格
#include <iostream>
#include<cstdlib>
#include<string>
using namespace std;
int main()
{
string s="aboard adv.船(车)上";
int n1=s.find(" ",0);
int n2=n1;
while(true)//注意循环去空格
{
++n2;
if(s.substr(n2,1)!=" ")
break;
}
string s1=s.substr(0,n1);
string s2=s.substr(n2,s.size()-n2);
cout<<s1<<endl;
cout<<s2<<endl;
return 0;
}