Каков наилучший способ чтения в файле с разделителями табуляции на C++ и хранить каждую строку в виде записи? Я искал библиотеку с открытым исходным кодом, чтобы помочь с этим, но не увенчался успехом, поэтому мне кажется, что мне придется писать самостоятельно.Чтение разделенных файлов в C++
ответ
typedef vector<vector<string> > Rows;
Rows rows;
ifstream input("filename.csv");
char const row_delim = '\n';
char const field_delim = '\t';
for (string row; getline(input, row, row_delim);) {
rows.push_back(Rows::value_type());
istringstream ss(row);
for (string field; getline(ss, field, field_delim);) {
rows.back().push_back(field);
}
}
Это поможет вам начать работу. Он не делает никаких проверок, что каждая строка имеет одинаковое количество полей, позволяет избегать field_delim
и т. Д.
этот код действительно работает в visual studio. Ошибка - ошибка «C4430: отсутствующий тип спецификатора - int предполагается». Я включил string.h – tumchaaditya
Код компилируется в CentOS с g ++. Не уверен, что вы не добавили, чтобы заставить его работать – thaweatherman
Нет проблем при использовании iostreams - вы можете прочитать каждую строку с getline в строке, а затем использовать stringstream для этой строки для перебора полей.
Существует несколько библиотек, перечисленных в статье Википедии CSV_application_support.
- 1. Чтение разделенных табуляцией файлов в f #
- 2. vb.net чтение разделенных файлов с текстовыми квалификаторами
- 3. C++ - чтение в строках файла, разделенных запятой
- 4. Чтение разделенных данных в структуру массива C++
- 5. Чтение значений, разделенных запятой
- 6. C - Чтение нескольких файлов
- 7. C чтение файлов BMP
- 8. C++ Чтение файлов
- 9. C: чтение двоичных файлов
- 10. C++ Ассемблер Чтение файлов
- 11. c: чтение из файлов
- 12. C# Новичок Чтение файлов
- 13. C чтение текстовых файлов
- 14. Чтение файлов Unicode C++
- 15. чтение плоских файлов в C++
- 16. Чтение из файлов в C++
- 17. Чтение json-файлов в C++
- 18. Чтение (написание) файлов в C#
- 19. Чтение больших файлов в C++
- 20. Чтение файлов PE в C
- 21. Чтение CSV-файлов в C#
- 22. Резьбовое чтение файлов в C++
- 23. Чтение файлов CSV в C#
- 24. чтение файлов в каталоге C++
- 25. Чтение вложенных файлов в C++
- 26. Сжатие разделенных PDF-файлов
- 27. Чтение строк, разделенных пробелами в вектор в C++
- 28. Чтение чисел, разделенных пробелами в OCaml
- 29. C# Чтение из текстового файла, разделенных запятыми в 2d массив
- 30. Чтение пространства разделенных значений файла в C++ error
Я был поражен тем, что, когда я искал это, я не мог просто вырвать код откуда-то для такой простой вещи. Во всяком случае, я написал блог для своего решения (на основе других ответов на Stack Exchange) [C++ Tidbits] (http://goo.gl/y0bOVv) – Wybird666