Форум программистов, компьютерный форум CyberForum.ru

Чтение CSV-файла в двумерный массив - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не понимаю, какие в моем коде ошибки http://www.cyberforum.ru/cpp-beginners/thread1506969.html
#include <iostream> char board = {'-','-','-','-','-','-','-','-','-',}; int get_move(){ std::cout <<"Move options:" << std::endl; std::cout <<"-7-|-8-|-9-" << std::endl; std::cout <<"-4-|-5-|-6-" << std::endl; std::cout <<"-1-|-2-|-3-" << std::endl; std::cout<<"\n";
C++ Vector iterator not incrementable Здравствуйте. Подскажите, из-за чего не работает код? При запуске программы появляется ошибка: "... expression: vector iterator not incrementable ..." #include <iostream> #include <vector> #include <iterator> #include <algorithm> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread1506959.html
C++ Заполнить массив неодинаковыми случайными числами
нужно дополнить ф-кцию рандома так что бы заполнить массив не одинаковыми числами. Как прописать возвращение на внутренний цыкл, чтобы сново проверить выданный рандом?? #include <iostream> #include <windows.h> #include <ctime> using namespace std; int main(){ srand(time(0)); int arr; int a,b,k=0; cin>>a;
C++ Задача по теме "Функции с переменным числом параметров"
Задание: Ввести функцию с переменным числом параметров как функцию класса. Цель функции — инициализация элементов класса (расширение метода ввода). В качестве параметров передавать значения элементам класса (например, для класса товары: только цена, только наименование, только наценка, все вместе,
C++ Описание классов. Классы "Шар" и "Ящик для шаров" http://www.cyberforum.ru/cpp-beginners/thread1506924.html
1.Опишите класс "шар", описывающий габариты и вес. Данные класса: радиус шара,вес. Методы класса: должны обеспечить минимальную функциональность объекта. 2.Опишите класс "ящик" в котором могут храниться шары,с операциями добавления шара с контролем вхождения шара в ящик ,удаления шара, просмотра всех элементов и вычисления суммарного веса ящика с шарами.
C++ Описание классов. Класс "Угол" Опишите класс "Угол" для измерения углов. Данные класса : число градусов и минут Методы класса : должны обеспечить минимальную функциональность объекта. 2.Перегрузите операцию сложения углов с использованием операции - метода класса, а операцию вычитания с использованием дружественной функции.Требуется контроль данных и, при необходимости, привидение. 3.Перегрузите унарную операцию ++ для... подробнее

Показать сообщение отдельно
CyberTrader
0 / 0 / 0
Регистрация: 30.07.2015
Сообщений: 11
30.07.2015, 22:47  [ТС]     Чтение CSV-файла в двумерный массив
Цитата Сообщение от ForEveR Посмотреть сообщение
CyberTrader, Т.е. regex вы использовали, а вот vector не?
Ну, как-то так, да.

Вот так-то побыстрее будет:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
int main() {
  const char *sFileName = "R:\\data.csv";
  vector<vector<double> > aData;
  vector<double> v;
  ifstream hFile (sFileName);
  if (!hFile) cout << "Не удалось открыть файл";
  else {
    char sLine[100], s;
    double d;
    hFile >> sLine;  // Пропускаем первую строку
    while (!hFile.eof()) {
      if ( !hFile.get(sLine, 15, ',') ) break;
      for ( size_t i=0; i<=7; i++ ) {
        hFile >> s >> d;
        v.push_back(d);
      }
      hFile.get();  // пропуск \n
      aData.push_back(v);
      v.clear();
    }
    hFile.close();
  }
  for ( size_t i=0; i<aData.size(); i++ ) {
    v = aData[i];
    for ( size_t j=0; j<v.size(); j++ ) {
      cout << v[j] << "; ";
    }
    cout << endl;
  }
}
А можно с помощью fgets сделать? Он быстрее файлы читает.
 
Текущее время: 19:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru