Преобразование массива Python NumPy в вектор C ++ STL - PullRequest
4 голосов
/ 12 апреля 2010

Я ищу способ прочитать на c ++ текстовый файл, содержащий числовые массивы и поместить данные в vector< vector< ... > >, кто-нибудь может мне помочь?

Большое спасибо. Archy

РЕДАКТИРОВАТЬ: формат текстового файла

[[[ 0 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 31] [32 33] [34 35] [36 37] [38 39]]]

Возможно, более наглядно:

[
    [
        [ 0 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 31] [32 33] [34 35] [36 37] [38 39]
    ]
]

Ответы [ 2 ]

0 голосов
/ 12 апреля 2010

Это будет зависеть от вашего уровня знаний.

Если у вас есть опыт, я бы предложил что-то вроде Boost.Spirit.Qi , которое является настоящей библиотекой синтаксического анализатора. Однако привыкание может занять некоторое время.

В противном случае это зависит от того, какую информацию вы имеете в своем распоряжении ... Я отредактирую свой ответ, когда вы предоставите нам более подробную информацию, поскольку он достаточно волосатый, чтобы потенциально усложнить:)

0 голосов
/ 12 апреля 2010
float val;
::std::vector<float> vals;
ifstream stream("c:/file.txt");
while(stream >> val) {
   vals.push_back(val);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...