【发布时间】:2015-02-18 00:33:19
【问题描述】:
我对 C++ 很陌生。我正在尝试拆分包含偶数子字符串的字符串,直到没有偶数子字符串。例如,如果我输入 AB ABCD ABC,则输出应该是 A B A B C D ABC。我试图在没有令牌的情况下做到这一点,因为我不知道如何.. 到目前为止,我只拆分了第一个偶数子字符串,如果我只有一个子字符串,它就不起作用。有人可以帮我吗? 任何建议将不胜感激。谢谢!
string temp = "";
void check(string &str, int &i, int &flag)
{
int count = 0;
int reminder;
do
{
count++;
temp += str[i];
i++;
} while (str[i] != ' ');
i = i - temp.size();
reminder = count % 2;
if (reminder == 0)
flag = 1;
else
flag = 0;
}
void SplitEvenWord(string &str)
{
int i = 0;
int flag = 0;
for (i = 0; i < str.size(); i++)
{
check(str, i, flag);
if (flag == 1)
{
temp.insert(temp.size() / 2, " ");
str.replace(i, temp.size() - 1, temp);
}
}
}
【问题讨论】:
-
这里有两个功能。你测试过哪个?每个的输入和输出应该是什么,什么输入会导致它们出现故障?
-
@Beta,它将在 GUI 环境中运行并从文本框中获取输入。我一起测试了它们,因为第二个只在第一个为真时运行。所以在文本框中我会输入一个随机字符串,如 ABC ABCD 并期望输出 ABC A B C D