Я пытаюсь получить данные из CSV-файла с помощью getline, но это не останавливается на новом символе строки. Код:getline() переносит ' n' из csv
while (file.good()) {
getline(file, value, ',');
}
Мой .csv в следующем формате:
123 456
789 000
При получении данных из второго столбца, GetLine возвращает 456\n789
. Как это исправить?
Вы сказали ему вместо запятой. – chris
Это не проблема, но не используйте 'good()' для проверки конца ввода. Измените цикл на 'while (getline (файл, значение, ',')) {...}'. Таким образом, тело цикла не будет выполняться, когда чтение завершится неудачно в конце файла. –
Простое решение - разобрать дважды. Используйте 'while (getline (файл, строка))' для получения строк. Внутри тела 'while' напишите строку в строковый поток и используйте' while (getline (поток, значение, ',')) ', чтобы получить результирующие значения в строке. – user4581301