Форум программистов, компьютерный форум CyberForum.ru

Вектор сохранить в файле - C++

Восстановить пароль Регистрация
 
Прозрачный
 Аватар для Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
15.09.2013, 17:51     Вектор сохранить в файле #1
есть вектор класса Job:
C++
1
 vector <Job> vj;
в нем несколько объектов, нужно сохранить объекты в файле, и что то я завис

C++
1
2
3
4
5
6
7
8
9
void FOut(Job a){
    ofstream outPassFile("job.txt", ios::out);
        if (!outPassFile){
            cerr<<"Файл не может быть открыт!"<<endl;
            exit(1);
            }
        outPassFile<<a.GetDay()<<"/"<<a.GetMonth()<<"/"<<a.GetYear()<<" "<<a.Getinfo()<<endl;                   
                
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MousePro
49 / 30 / 1
Регистрация: 25.04.2013
Сообщений: 366
15.09.2013, 18:03     Вектор сохранить в файле #2
outPassFile.close();
может оно надо?)
Прозрачный
 Аватар для Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
15.09.2013, 18:06  [ТС]     Вектор сохранить в файле #3
Нет как передать поэлементно вектор в функцию, вызвав ее в main?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
15.09.2013, 20:54     Вектор сохранить в файле #4
Цитата Сообщение от Прозрачный Посмотреть сообщение
как передать поэлементно вектор в функцию, вызвав ее в main?
Можно так:
C++
1
2
3
4
for (int i = 0; i < vj.size(); ++i)
{
    FOut(vj[i]);
}
Но это всё не будет правильно работать с такой функцией. В функцию нужно или вектор передавать, или поток для записи открывать не в функции и передавать в функцию.

Добавлено через 8 минут
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void FOut(const vector <Job> &a)
{
    ofstream outPassFile("job.txt", ios::out);
    if (!outPassFile)
    {
        cerr<<"Файл не может быть открыт!"<<endl;
        exit(1);
    }
    for (int i = 0; i < a.size(); ++i)
    {
        outPassFile<<a[i].GetDay()<<"/"<<a[i].GetMonth()<<"/"<<a[i].GetYear()<<" "<<a[i].Getinfo()<<endl;
    }
    outPassFile.close();
}
Прозрачный
 Аватар для Прозрачный
0 / 0 / 0
Регистрация: 18.04.2013
Сообщений: 66
21.09.2013, 16:10  [ТС]     Вектор сохранить в файле #5
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void FOut(const vector <Job> &a)
{
    ofstream outPassFile("job.txt", ios::out);
    if (!outPassFile)
    {
        cerr<<"Файл не может быть открыт!"<<endl;
        exit(1);
    }
    for (int i = 0; i < a.size(); ++i)
    {
        outPassFile<<a[i].GetDay()<<"/"<<a[i].GetMonth()<<"/"<<a[i].GetYear()<<" "<<a[i].Getinfo()<<endl;
    }
    outPassFile.close();
}
[/QUOTE]

Пытаюсь в main вызвать эту функцию, выдает ошибку
Error 2 error C2664: 'FOut' : cannot convert parameter 1 from 'std::vector<_Ty>' to 'Job'

Добавлено через 25 минут
Все разобрался! всем спасибо!
Yandex
Объявления
21.09.2013, 16:10     Вектор сохранить в файле
Ответ Создать тему
Опции темы

Текущее время: 05:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru