Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
pervokursnik
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 6
#1

Запись и чтение с файла - C++

01.06.2013, 00:42. Просмотров 768. Ответов 5
Метки нет (Все метки)

Здравствуйте,помогите пожалуйста ..есть две структуры, но каждая записывается и считывается с разных файлов, не посоветует как можно объединить,чтоб все записывалось и считывалось в один файл?

C++
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
40
41
42
void List::outFilesamolet(char * path) {
    FILE *out;
    if ((out = fopen(path,"wb")) == NULL) {
        cout << "Файл  " << path << "не может быть открыт!" << endl;
        return;
    }
    struct samoletTemp {
        int kod;
        int id_samolet;
        char Model[80];
    };
    for (samolet *temp = sam.head; temp != NULL; temp = temp->next) {
        samoletTemp head;
        head.id_samolet = temp->id_samolet;
        strcpy(head.Model, temp->Model);
        head.kod = 2;
        fwrite(&head, sizeof(head), 1, out);
    }
    fclose(out);
}
void List::outFileklass(char * path) {
    FILE *out;
    if ((out = fopen(path,"wb")) == NULL) {
        cout << "Файл " << path << "не может быть открыт !" << endl;
        return;
    }
    struct klassTemp {
        int kod;
        int id_klass;
        char Nazvanie[80];
        double Stoimost;
    };
    for (klass *temp = kl.head; temp != NULL; temp = temp->next) {
        klassTemp head;
        head.id_klass = temp->id_klass;
        head.Stoimost = temp->Stoimost;
        head.kod = 4;
        strcpy(head.Nazvanie, temp->Nazvanie);
        fwrite(&head, sizeof(head), 1, out);
    }
    fclose(out);
}
// запись в файл
C++
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
40
41
42
43
44
void List::inFilesamolet(char * path) {
    FILE *in;
    if ((in = fopen(path,"rb")) == NULL) {
        cout << "Файл  " << path << "не может быть открыт!" << endl;
        return;
    } 
 
    struct samoletTemp {
        int kod;
        int id_samolet;
        char Model[80];
    };
    samoletTemp head;
    while (fread(&head, sizeof(head), 1, in)) {
        char * tempStr = new char[];
        strcpy(tempStr, head.Model);
        if(head.kod == 2)
        addsamolet(head.id_samolet, tempStr);
    }
    fclose(in);
    printsamolet();
}
void List::inFileklass(char * path) {
    FILE *in;
    if ((in = fopen(path,"rb")) == NULL) {
        cout << "Файл " << path << "не может быть открыт !" << endl;
        return;
    }
    struct klassTemp {
        int kod;
        int id_klass;
        char Nazvanie[80];
        double Stoimost;
    };
    klassTemp head;
    while (fread(&head, sizeof(head), 1, in)) {
        char * tempStr = new char[];
        strcpy(tempStr, head.Nazvanie);
        if(head.kod == 4)
        addklass(head.id_klass, tempStr,head.Stoimost);
    }
    fclose(in);
    printklass();
}
//чтение с файла
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2013, 00:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись и чтение с файла (C++):

Запись и чтение с файла - C++
Есть названия машин, их цена и производитель. Нужно сделать программу, которая при вводе производителя выводит название машины и её цены. ...

Чтение из файла и запись - C++
Доброго времени суток. Передо мной стоит следующая задача - имеется файл и строк слов такого типа: АААА ББББ ВВВВВ АААА ПППП АААА...

Запись и чтение из файла - C++
Здравствуйте не могли бы мне помочь разобраться, что не так. Есть две программы, одна для записи в файл “Writer.exe” а для чтения...

Запись и чтение из файла - C++
Всем добрый вечер, как можно записать данные в файл? Например записать в txt файл список паролей. На одном сайте нашел информацию по...

Запись и чтение с файла - C++
Подскажите пожалуйста как правильно записать массив в файл и считать его оттуда в другой массив? Если можно пример кода не в чистом с,а...

Чтение и запись из файла - C++
Пользуюсь code::blocks. Перерыл весь гугл, так и не понял, как что-то читать или записыват в файл при помощи библиотеки &lt;fstream&gt;. Можете...

5
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2013, 01:22 #2
Цитата Сообщение от pervokursnik Посмотреть сообщение
но каждая записывается и считывается с разных файлов
Где здесь разные файлы?
0
pervokursnik
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 6
01.06.2013, 11:58  [ТС] #3
каждая функция вызывается отдельно в менюшке , и соответственно можно задать разные имена. как их можно объединить в одну функцию...?помогите пожалуйста..
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2013, 14:32 #4
Цитата Сообщение от pervokursnik Посмотреть сообщение
каждая функция вызывается отдельно в менюшке , и соответственно можно задать разные имена.
Меню покажите.
0
pervokursnik
0 / 0 / 0
Регистрация: 01.06.2013
Сообщений: 6
01.06.2013, 15:31  [ТС] #5
C++
1
2
3
4
5
6
7
8
case 1:
                    cout << "Вы выбрали прочитать из файла" << endl;
                    cout << "Укажите путь к файлу" << endl;
                    mayinputStr(name);
                    cout << endl;
                    vs.inFilesamolet(name);
                    cout << endl;
                    break;
C++
1
2
3
4
5
6
7
8
    case 6:
                    cout << "Вы выбрали записать в файл" << endl;
                    cout << "Укажите путь к файлу" << endl;
                    mayinputStr(name);
                    cout << endl;
                    vs.outFilesamolet(name);
                    cout << endl;
                    break;
вот сейчас проблема такая: ( записывает и считывает все с одного файла вроде.) но,если закрыть консоль, и заново попробовать загрузить этот файл, он выдается пустым
0
alsav22
5428 / 4823 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
01.06.2013, 15:44 #6
Сделать, чтобы всё в один файл читалось/записывалось несложно. Удаляется ввод пути к файлу с консоли и, при вызове функции, в неё передаётся нужный путь. Вопрос в другом: будет ли это всё нормально работать? Чтобы на него ответить, нужно понимать логику программы. Из приведённых кусков кода, я этого сделать не могу.
0
01.06.2013, 15:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2013, 15:44
Привет! Вот еще темы с ответами:

запись\чтение из файла - C++
У меня несколько вопросов по поводу запись\чтение из файла Как это вообще работает?) Чтобы потом читать из файла надо забивать каждое...

Чтение/запись файла - C++
Вот сделал такую прогу. Очень простая. Создает файл, где есть 100 полей. Каждое поле это строка из индекса, названия, кол-ва (например...

Запись и чтение из файла - C++
Здравствуйте, написал программу которая реализует следующее, пользователь создает исходный текстовый файл, в который заносит текст,...

Запись и чтение из файла - C++
Не знаю как подойти. Список товаров, имеющихся на складе, включает в себя наименование товара, количество единиц товара, цену...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.