Вставить и получить матрицу в базе данных - PullRequest
0 голосов
/ 01 октября 2018

У меня есть объект типа std::vector<std::vector<float>> и значение bool в моем классе.Содержимое вектора vector всегда похоже на эту структуру (120 строк с 4 значениями и 50 строк с 3 значениями):

-78.45 5120 45.369 7.456
-0.140 1.012 1.161 7.456
-4.4287 8.963 1.121 7898
-8.753 8.159 3.852 2.415
0.000 2.456 4.655 6.041
0.000 3.132 8.275 1.788
7.489 8.056 7.288 5.698
4.050 7.456 7.340 2.025
0.090 9.478 9.395 6.416
1.132 6.866 8.450 2.126
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
6.222 5.142 7.596 0.56
9.121 2.256 5.641
8.896 1.488 2.858
7.489 8.056 7.288
4.050 7.456 7.340
0.090 9.478 9.395
7.489 8.056 7.288
4.050 7.456 7.340
0.090 9.478 9.395

Как сохранить матрицу для получения той же самой vector<std::vector<float>>когда я загружаю его из базы данных.Моя проблема в том, что я не знаю, как я могу «знать», когда я нахожусь на линии из 4 значений или 3 значений.Моя первоначальная идея состояла в том, чтобы сохранить объект, используя boost, но я не могу добавить эту библиотеку.Я в C ++ 98.Поскольку я не могу использовать повышение, я думаю, что я должен хранить в одной строке значения.Но каков алгоритм для перестройки вектора вектора с плавающей запятой с 4 значениями до 120 первых строк и 3 значениями до конца базы данных?

Могу ли я иметь пример кода?

1 Ответ

0 голосов
/ 01 октября 2018

Моя рекомендация:

  1. Считать строку текста из файла.Если строк больше нет, все готово.
  2. Создайте std::istringstream из строки текста.Продолжайте читать цифры от std::istringstream до тех пор, пока не останется больше цифр.
  3. Соберите все числа из вышеприведенного шага в std::vector<float>.
  4. Добавьте std::vector<float>, соответствующий строке, к более высокому уровню std::vector.

У меня возникло желание опубликовать код, но я воздержался.Это было бы слишком много кормления с ложечки, ИМО.

...