gpt4 book ai didi

c++ - 在字符串中查找下一个单词

转载 作者:行者123 更新时间:2023-11-30 04:01:24 25 4
gpt4 key购买 nike

<分区>

我正在尝试处理字符串中的单个单词。我阅读了多字字符串,并希望使用 string::size_type 来跟踪它,希望代码能够很好地 self 解释。

现在我想不出在第一个循环之后将 p1 推进到下一个单词开头的方法。我陷入了无限循环。

#include <iostream>
#include <string>

using namespace std;

static string NextWord(string &S, string::size_type &p1, string::size_type &p2)
{
static char delimiters[] = " \n\t";
string re = "none";

p1 = S.find_first_of(S, p1);
p2 = S.find_first_of(delimiters, p1);
re = S.substr(p1, (p2 - p1));

if (p1 == string::npos)
return string("");

return re;
}

int main() {
string word, test = "I like pie and men are cool but what????";
string::size_type p1 = 0,
p2 = 0;

while (p1 != string::npos)
{
word = NextWord(test, p1, p2);

if (p1 == string::npos) {
break;
}

cout << word << endl;
p1 = p2;
}

system("pause");
return 0;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com