我正在设计一个有1个输入参数的函数:string。该函数获取此字符串的内容,并将每个单词输出到新行。目前,除了输出字符串中的最后一个字之外,此函数执行所有操作。这是功能代码:
void outputPhrase(string newPhrase)
{
string ok;
for (int i = 0; i < newPhrase.length(); i++)
{
ok += newPhrase[i];
if (isspace(newPhrase.at(i)))
{
cout << ok << endl;
ok.clear();
}
}
}
答案 0 :(得分:1)
试试这个:
for (int i = 0; i < newPhrase.length(); i++)
{
ok += newPhrase[i];
if (isspace(newPhrase.at(i)) || i==newPhrase.length()-1)
{
cout << ok << endl;
ok.clear();
}
}
答案 1 :(得分:1)
您可以使用此功能完成任务,
void split(string newPhrase)
{
istringstream iss(newPhrase);
do
{
string sub;
iss >> sub;
cout << sub << endl;
} while (iss);
}
请记住包含&lt;字符串&gt;和&lt; sstream&gt;在你的代码中。