for (string::size_type index = 0; index != s.size(); ++index)
{
ch = s[index];//按序逐个地提取s中的字符
if (ispunct(ch))//如果当前字符是特殊字符
has_punct = true; //那么就做下记号说s里面有特殊字符。接着提取下个字符。(就是标记作用,说s里面有特殊字符,没有别的自用了)
else//如果当前字字符不是特殊字符
result_str += ch;//那么把它加在result_str的尾部。
}
当然了去掉has_punct = true; 也行,改写成
if(!ispunct(ch))
result_str +=ch;
只是最后输出时要做下判断。s.size() == result_str.size();
今天高兴所以话有些多。