Разбиение строки по пробелам и вывод столбцов в разные массивы - PullRequest
0 голосов
/ 03 июня 2019

Так что у меня есть этот текстовый файл, который в основном имеет 2 столбца букв и цифр, разделенных пробелами. Я хочу разделить эти 2 столбца и поместить их в отдельные массивы.

Я пытался использовать метод getLine с пробелом в качестве разделителя, но я могу разместить их только в одном массиве. Я могу сделать это с помощью метода fileOpen.eof, но это вызывает слишком много проблем в моей программе

while(getline(openFile, letters, ' ')){

    index++;     
    lettersArray[index] = letters;
}

Я ожидаю, что на выходе lettersArray [index] будет только столбец букв.

1 Ответ

0 голосов
/ 03 июня 2019

Я думаю, что вы используете getline неправильно.Посмотрите, как это работает здесь: http://www.cplusplus.com/reference/string/string/getline/

Вы в основном говорите функции getline использовать символ пробела для использования в качестве разделителя.Таким образом, он обрабатывает буквы в файле в нечетных итерациях цикла while, а числа в файле - в четных итерациях цикла while.

Если вы хотите использовать функцию getline , вот возможное изменение, чтобы оно заработало.

while(getline(openFile, letters, ' ')){

    index++;     
    lettersArray[index] = letters;
    getline(openFile, letters);
}

Вызов функции getline в последней строке цикла while избавляет от оставшейся части текущей строки.

...