Моя задача — прочитать эти данные из файла в вектор:
21000 Landhau Nolte brown
19000 Modern_fit Hoeffner magnolie
14700 Pure_Style Wellmann black
Это моя попытка, но откат не работает. Я уже посмотрел несколько примеров здесь, в Stack Overflow, но почему-то это не работает.
functions.h
:
#pragma once
#include <iostream>
#include <string>
#include <vector>
#include <fstream>
using namespace std;
struct Kitchen {
double price;
string name;
string manufacturer;
string color;
};
main.cpp
:
#include "functions.h"
int main(){
vector<Kitchen> Kitchens;
fstream myFile;
myFile.open("kitchen.txt", ios::in);
if (myFile.is_open()) {
while (!myFile.eof()) {
double price;
string name;
string manufacturer;
string color;
myFile >> price >> name >> manufacturer >> color;
Kitchens.push_back(price, name, manufacturer, color);
}
myFile.close();
}
else cout << "not opened." << endl;
system("PAUSE");
return EXIT_SUCCESS;
}
Что я делаю не так?
push_back
сломан. Вы должны объяснить, почему это не работает - person 463035818_is_not_a_number   schedule 15.05.2018using namespace std
- это плохая привычка, и может незаметно изменить смысл вашей программы, когда вы этого не ожидаете. Привыкайте использовать префикс пространства имен (std
намеренно очень короткий) или импортировать только нужные вам имена в наименьшую разумную область действия. Это особенно пагубно для файлов заголовков, так как теперь вы создаете проблему для каждого исходного файла, который включает заголовок! - person Toby Speight   schedule 15.05.2018