Чтение разграниченных файлов в C++ [дубликат]

Вы всегда можете использовать псевдонимы

alias your_env='source ~/scripts/your_env.sh'
.
7
задан Mr. Will 2 July 2009 в 17:36
поделиться

3 ответа

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 и т. Д.

17
ответ дан 6 December 2019 в 08:16
поделиться

Нет проблем с использованием iostreams - вы можете прочитать каждую строку с помощью getline в строку, а затем использовать stringstream в этой строке для перебора полей.

5
ответ дан 6 December 2019 в 08:16
поделиться

Есть несколько библиотеки, перечисленные в статье Википедии CSV_application_support .

0
ответ дан 6 December 2019 в 08:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: