-4

I got line which looks like: name1 - name2 (example: Josh - Marc) I need to take those 2 names as 2 different strings. I don't know how I could avoid this "-" while reading that line.. Any ideas? Thanks in advance,

Artegor
  • 3
  • 2

2 Answers2

0

If the String pattern is known then you can parse it ex:

std::string s = "Josh - Marc";
std::string delimiter = "-";
std::string token = s.substr(0, s.find(delimiter));
Raju
  • 2,902
  • 8
  • 34
  • 57
  • Yeah I know this, but how to read it as input? If input is "Josh - Marc" (1 line)? I cannot just use cin, because there are spaces.. – Artegor Jan 30 '16 at 13:01
  • Maybe you should mention in the question that you don't know how to get the input in the way you want it, if that's your problem. – RobClucas Jan 30 '16 at 13:02
  • @Artegor you can read line with following `std::getline (std::cin,name);` . i advise you to use [Google](http://www.google.com) before [StackOverflow](http://stackoverflow.com/) – tchelidze Jan 30 '16 at 13:04
0
  • Here is demo code.You can do it this way also,

    #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;
     }
    
Sagar Patel
  • 864
  • 1
  • 11
  • 22