如何读取参数中的字符串

How to read strings inside parameters

假设我的程序需要用户输入,而用户决定输入以下内容: "new('Hi', 'Bye')"

Hi 和 Bye 只是一个例子,我们不知道用户实际会输入什么。

我将如何提取这 2 个字符串(hi 和 bye)?我不明白该怎么做。我阅读了更多有关 C++ 中的字符串的信息,但我仍然不知道如何执行此操作。

您实际上并没有从用户输入中得到两个字符串。即使他们把它格式化成

"word" "more words" "blah blah blah"

...它仍将存储在单个字符串中。无论您想做什么,您都可能想尝试单独询问字符串,或指导用户如何显示分隔符的位置(可能建议使用逗号)。

至于用现有的字符串制作多个字符串,如果您知道分隔符(我使用逗号)并将其分成两个字符串,则始终可以通读大字符串,s1s2,这样:

input = "color, length";
string s1 = "";
string s2 = "";
for (int i=0; i<input.length(); i++)
{
  if(input[i] == ",")
  {
    s1 = input.substr(0, i);
    s2 = input.substr(i+1);
    break;
  }
}