как разбить строку на структуру с++

323
05 октября 2017, 13:46
Титаник 1024 jpg 150 320 500 32
struct picture
{
    char name[LineLength];
    int size;
    char format[LineLength];
    int width;
    int height;
    int dpi;
    int depth;
};
Answer 1

Проще всего, пожалуй, так:

string s = "Титаник 1024 jpg 150 320 500 32";
picture p;
istringstream is(s);
is >> p.name >> p.size >> p.format >> p.width >> p.height >> p.dpi >> p.depth;
cout <<  p.name << endl;
cout <<  p.size << endl;
cout <<  p.format << endl;
cout <<  p.width << endl;

Только вот нужно обеспечить гарантию, что места в буфере для строк хватит, или сделать эти поля string и не мучиться.

READ ALSO
Функция записи результатов в файл [требует правки]

Функция записи результатов в файл [требует правки]

Не уверен, что правильно сделал, но все же данные не сохраняются в txt файл их загрузка вроде как происходит (диск у курсора, VS 2015), но открывая...

270
Объясните пожалуйста в этой задаче в последнем примере как вывод получается? [требует правки]

Объясните пожалуйста в этой задаче в последнем примере как вывод получается? [требует правки]

У Егора есть взвешенный ориентированный граф, состоящий из n вершинВ этом графе между любой парой различных вершин есть ребро в обоих направлениях

294
Вывод двумерного vector&lt; vector&lt;int&gt;&gt;

Вывод двумерного vector< vector<int>>

Почему все элементы выводтся в столбецЕсли мы сначала в i кладем vector

218
Кросс-компиляция приложения на C++ с Qt с Linux под Windows

Кросс-компиляция приложения на C++ с Qt с Linux под Windows

Здравствуйте! Я начинающий программист и недавно использую QtНе могу разобраться с компиляцией приложения на C++ с использованием Qt

356