void EraseMultiSpace(std::string &str)
{
bool alnumFlag = false;
bool spaceFlag = false;
int j=0;
int j=0;
for (int i=0; i<str.length(); )
{
if(!isspace(str.at(i)))
{
str.at(j) = str.at(i);
j++;
alnumFlag = true;
spaceFlag = false;
}
else
{
spaceFlag = true;
if(alnumFlag)
{
str.at(j) = str.at(i);
j++;
alnumFlag = false;
}
}
i++;
}
if (spaceFlag)
{
str.erase(j-1);
}
else
{
str.erase(j);
}
}
时间: 2024-10-07 07:15:57