编一个程序,从 string 对象中去掉标点符号。要求输入到程序的字符串必须含有标点符号,输出结果则是去掉标点符号后的 string 对象。
来自《c++ primer》习题3.10
using std::cout;
using std::endl;
using std::string;
int main()
{
string s,result_str;
char ch;
bool has_punct=false;
cout<<"Enter a string..."<<endl;
getline(cin,s);
for(string::size_type i=0;i!=s.size();++i)
{
ch=s[i];
if(ispunct(ch))
has_punct=true;
else
result_str+=ch;
}
if(has_punct)
cout<<result_str;
else{
cout<<"no punct?!"<<endl;
return -1;
}
return 0;
}