Чтение файла с разделителями-запятыми по частям

У меня есть задание из школы, и мне нужно прочитать файл с разделителями-запятыми и поместить каждое значение в char*.

Ex)

Файл содержит:

5,Justin,19,123-4567,etc..

char * firstValue = 5;

char * secondValue = Justin;

char * thirdValue = 123-4567; etc..

Я не могу использовать std::string, так как мы его еще не изучили. Я должен сделать это с помощью ifstream или других файловых потоков. я понятия не имею, как это сделать


person Community    schedule 14.04.2015    source источник
comment
Подсказка: cplusplus.com/reference/istream/istream/getline Посмотрите на вторая перегрузка, где вы указываете разделитель - возможно, вы могли бы использовать , в качестве разделителя...   -  person developerbmw    schedule 15.04.2015
comment
Вот пример использования строкового потока ideone.com/ptf0HO.   -  person developerbmw    schedule 15.04.2015


Ответы (1)


Для домашних заданий, перебирающих массив символов в цикле for, и каждый раз, когда встречается запятая, разбиение строки будет работать (я не буду давать код, потому что это хорошее упражнение, чтобы попытаться поработать самостоятельно). Но для реального использования вы должны знать, что формат CSV значительно сложнее. Рассмотрим многострочные записи или записи с экранированной запятой и то, как они нарушают приведенное выше решение. Я настоятельно рекомендую использовать libcsv для любого реального анализа CSV.

person Benjy Kessler    schedule 14.04.2015