Use getline with delimiter?
May 1, 2014 at 5:26am
Hello I need your help, obviously.
I'm making a program that converts mores code to text but I have a problem when
I have to continue reading after the first delimiter.
Here is my code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
string input;
cout << "Enter your message: ";
int isize;
do
{
cin.clear();
getline(cin, input, '/');
isize = input.length();
MorsCode.SearchForMoresOrderToBST(SymbolToNumber(input));
} while (input[isize-1] != '\n');
|
Where MoresCode is a class that contains a symbol which will output when is found.
My problem really just is separating the input which will look something like:
1 2
|
Enter a message: .-/-.../
Translation: AB
|
Now if I do this separately like:
1 2
|
getline(cin, input, '/'); MorsCode.SearchForMoresOrderToBST(SymbolToNumber(input));
getline(cin, input, '/'); MorsCode.SearchForMoresOrderToBST(SymbolToNumber(input));
|
It works, for only two delimiters that is, how about for until the user enters the enter '\n' key?
Would really appreciate some suggestions!
May 1, 2014 at 7:15am
Read whole line and put it in the string stream and then parse it in a loop:
1 2 3 4 5 6
|
std::string input;
std::getline(std::cin, input);
std::istringstream line(input);
while(std::getline(line, input, '/')) {
//...
}
|
Topic archived. No new replies allowed.