在一行中输入更多字符串

时间:2016-01-30 12:52:13

标签: c++

我得到的行看起来像: name1 - name2(例如:Josh - Marc) 我需要将这2个名称作为2个不同的字符串。 我不知道在读这行时我怎么能避免这个“ - ” 有任何想法吗? 提前谢谢,

2 个答案:

答案 0 :(得分:0)

如果已知String模式,则可以解析它 例如:

std::string s = "Josh - Marc";
std::string delimiter = "-";
std::string token = s.substr(0, s.find(delimiter));

答案 1 :(得分:0)

  • 这是演示代码。你也可以这样做,

    #include <stdio.h>
    #include <iostream>
    using namespace std;
    
    int main()
    {
       char string[20], name1[20], name2[20];
       gets(string);
       int j = 0, k = 0;
       int i = 0;
       while(string[i] != '-')
       {
         name1[i] = string[i];
         i++;
       }
       while(string[i] != '\0')
         name2[j++] = string[++i];
    
       cout<<name1<<" "<<name2;
     }