目前我们的程序还有点问题。
例如,代码是:write "hello world"
这样,只使用cin语句读入字符串t,只会读取前半部分"hello ,无法读取后面的world"
因此我们必须使用getline来读入。一般,getline函数的格式是:
getline(cin,s);
表示从cin读入一整行字符串s,直到换行符结束。
修改后的代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
for(;;){
cin>>s;
if(s=="write"){
string t;
getline(cin,t);//待输出的字符串
for(int i=2;i<t.size()-1;i++)cout<<t[i];//i=2是为了跳过空格
cout<<endl;
}
else if(s=="exit")return 0;
else{
cout<<"Error in program.Compilation aborted.";return 0;//编译错误
}
}
}