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

Бинарный файл (с++) и структуры - C++

Восстановить пароль Регистрация
 
HenryDukart
 Аватар для HenryDukart
100 / 100 / 28
Регистрация: 05.10.2013
Сообщений: 400
Завершенные тесты: 2
23.11.2013, 23:32     Бинарный файл (с++) и структуры #1
Пользователь вводит количество студентов. Вводится информация о студенте и тут же выводится в бинарный файл. Встает несколько вопросов: как при выводим в файл перейти на новую строку и как корректно считать эту структуру из бинарного файла . И еще: когда вывожу структуру в ТЕКСТОВЫЙ файл (точно таким же способом), нормальное отображается только имя студента. Помогите, пожалуйста, ко тем может.
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
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
    setlocale (LC_ALL, ".1251");
    cout<<"Введите имя создаваемого файла."<<endl;
    char filename[256];
    cin.get (filename, 256);
    cin.ignore();
    ofstream out (filename, ios::binary);
    if (!out)
    {
        cout<<"Файл не может быть создан."<<endl;
        system ("pause");
        return 1;
    }
    struct student
    {
        long num;
        char name[15];
        int group;
    };
    student buf;
    cout<<"Введит количество студентов."<<endl;
    int n, i;
    cin>>n;
    for (i=0; i<n; i++)
    {
        cout<<"Введите номер зачетки."<<endl;
        cin>>buf.num;
        cout<<"Введите имя студента."<<endl;
        cin>>buf.name;
        cout<<"Введите номер группы."<<endl;
        cin>>buf.group;
        out.write((char*) &buf, sizeof buf);
        //нужен переход на новую сторку
    }
    out.close();
    system("pause");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
genaryok
21 / 21 / 4
Регистрация: 18.10.2013
Сообщений: 62
23.11.2013, 23:59     Бинарный файл (с++) и структуры #2
Цитата Сообщение от HenryDukart Посмотреть сообщение
как при выводим в файл перейти на новую строку
C++
1
file<<endl;//file-название файла
HenryDukart
 Аватар для HenryDukart
100 / 100 / 28
Регистрация: 05.10.2013
Сообщений: 400
Завершенные тесты: 2
24.11.2013, 00:45  [ТС]     Бинарный файл (с++) и структуры #3
genaryok, бинарного файла форматированный ввод не подходит.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.11.2013, 11:18     Бинарный файл (с++) и структуры #4
Цитата Сообщение от HenryDukart Посмотреть сообщение
//нужен переход на новую сторку
Не нужен. Зачем, если используется бинарный режим?

Добавлено через 3 минуты
Цитата Сообщение от HenryDukart Посмотреть сообщение
И еще: когда вывожу структуру в ТЕКСТОВЫЙ файл (точно таким же способом), нормальное отображается только имя студента.
А что вы хотите при бинарном режиме записи? Бинарный режим не для того, чтобы просматривать записанное текстовым редактором. Редактор выводит символы, но не все числа, которые записываются в файл в бинарном режиме, можно вывести как символы.

Добавлено через 3 минуты
Цитата Сообщение от HenryDukart Посмотреть сообщение
и как корректно считать эту структуру из бинарного файла
Так же как записываете, т.е. в бинарном режиме чтения (read()).
Yandex
Объявления
24.11.2013, 11:18     Бинарный файл (с++) и структуры
Ответ Создать тему
Опции темы

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