IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Запись и чтение контейнеров(а именно vector), через операторы вставки и извлечения.
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


Можете привести примеры чтения и записи вектора через операторы << и >>?
я просто пока плохо представляю как это реализовать.. norespect.gif

допустим вот для этого пример :

class Team
{
public :
friend ostream& operator << (ostream& outs, const vector<Team>&);
friend istream& operator >> (istream& sin, vector<Team>&);
friend void file_save(const vector<Team>&);
private:

string TeamName;
int win;
int lose;
int draw;
int score;

};




ostream&  operator << (ostream& outs, const vector<Team>& v) 
{
outs << "Team " << " Wins " << "Loses " << "Draws " << "Scores\n";
for (unsigned int i=0;i<v.size();i++)
{

outs << v[i].TeamName;
set_spaces_t(v,i);
outs << v[i].win << " " << v[i].lose << " " << v[i].draw << " " << v[i].score << "\n";

}

return outs;
}


Как надо правильно переопределить оператор >> для чтения из файла?.
вот функция записи допустим
:
void file_save(const vector<Team>& v){
char filename[15];
cout <<"Enter a file name(without extension) : ";
cin >> filename;
//filename=filename+".sys";
ofstream outfile(filename);
outfile << v;
}



Извиняюсь,Если как-то плохо объяснил что нужно,или наплел тут чуши - голова уже не варит к концу дня.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Бывалый
***

Группа: Пользователи
Сообщений: 222
Пол: Мужской
Реальное имя: Andrew

Репутация: -  0  +


хм..спасибо=)
Написал тут кое-что..только почему-то не хочеть работать..

вот функция сохранения в файл :

void file_save(const vector<Team>& v){
char filename[15];
cout <<"Enter a file name(without extension) : ";
cin >> filename;
//filename=filename+".sys";
ofstream outfile(filename);
for (unsigned int i=0;i<v.size();i++)
outfile << v[i].TeamName <<v[i].win <<v[i].lose << v[i].draw << v[i].score; ;
}


Чтения :
void file_read (vector<Team>& v)
{
Team temp_obj;
char filename[15];
cout << "Input file name : ";
cin >> filename;
ifstream infile(filename);
for (unsigned int i=0;i<v.size();i++)
{
infile >> temp_obj.TeamName >> temp_obj.win >> temp_obj.lose >> temp_obj.draw >> temp_obj.score;
//cout << " here!" << temp_obj.TeamName;
v.push_back(temp_obj);
}

}

Но вектор пуст.Почему?..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Andrewshkovskii   Запись и чтение контейнеров(а именно vector)   31.05.2008 3:15
volvo   А зачем, собственно, тебе перегружать операцию вво…   31.05.2008 3:35
Andrewshkovskii   ну как видно по коду,он так же будет создан не пра…   31.05.2008 3:41
volvo   Ну, так напиши себе метод (скажем, такой: class T…   31.05.2008 3:46
Andrewshkovskii   хм..сейчас попробую.Кстате,вопрос такой : почему д…   31.05.2008 3:48
volvo   Потому, что дружественная функция - это часть инте…   31.05.2008 4:04
Andrewshkovskii   хм..спасибо=) Написал тут кое-что..только почему-т…   31.05.2008 4:12
volvo   Сам не догадываешься? Чему равен размер вектора пр…   31.05.2008 4:16
Andrewshkovskii   Спасибо и в этот раз...надо всетаки нормально в Ла…   31.05.2008 4:17
volvo   Я ж тебя просил привести пример файла, из которого…   31.05.2008 4:33
Andrewshkovskii   содержимое файла : team11236team21236 Как заполн…   31.05.2008 4:36
volvo   Нет, так не пойдет... Надо разделять данные... Хот…   31.05.2008 4:58
Andrewshkovskii   Спасибо за помощь!Но всеравно не много не пони…   31.05.2008 21:33
volvo   Да, если ты хочешь иметь возможность сортировать в…   31.05.2008 23:11
Andrewshkovskii   Ну я отсутствовал в инете пару дней..когда ты сказ…   2.06.2008 23:02
volvo   Насколько я вижу - вот так будет лучше: bool exsi…   2.06.2008 23:19


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 6:32
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name