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

Работа с бинарными файлами (программка дважды записывает последнее число) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Цикл с предусловием http://www.cyberforum.ru/cpp-beginners/thread804259.html
#include <iostream> int main() { int s = 0; for (int i = 0; i <= 8; i++) { for (int j = 0; j <= 6; j++) { for (int k = 0; k <= 4; k++) { if (3 * i...
C++ Списки. Стеки. Очереди Квадрат разбит на {4}^{k} равновеликих квадратных клеток. Квадрат перегибается поочередно относительно вертикальной (правая половина подкладывается под левую) и горизонтальной (нижняя половина... http://www.cyberforum.ru/cpp-beginners/thread804255.html
C++ MPI и scanf в С++
Вобщем я делаю параллельную программу. Все процессы в этой программе должны узнать некоторое целое число X, которое пользователь вводит с клавиатуры. Я пока знаю только один способ это осуществить -...
Ошибка в задаче про массивы C++
Написал прогу,строго не судите,но какой то косяк здесь не знаю даже где,она должна Найти сумму элементов массива, которые находятся между максимальным и минимальным числами. В сумму включить и...
C++ Окружность http://www.cyberforum.ru/cpp-beginners/thread804225.html
Господа! Как нарисовать систему координат (две оси Ох и Оу) круг с центром в начале координат, если известен максимум по одной из осей? Т.е. центр круга всегда начало коорд. (0) и известна одна...
C++ Разворот строки через указатель ну вообщем обычное задание развернуть строку наоборот, обычный метод я знаю а как реализвать черерз указатели? for example: char *p=" i love c++" написал но оно не работает ))) char... подробнее

Показать сообщение отдельно
alsav22
5426 / 4821 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.03.2013, 18:56
Plu6e4ka, в какой среде делаете?

Добавлено через 52 минуты
Как-то так:
Кликните здесь для просмотра всего текста
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
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
struct MyStruct
{
    string name;
    int age;
};
 
int main()
{
    MyStruct im;
    
    cin >> im.name;
    cin >> im.age;
    
    ofstream fout("resource.bin", ios::binary | ios::out);
    int size_name = im.name.size();
    // первым в файл записываем размер строки (количество символов)
    fout.write((const char*)&size_name, sizeof(size_name));
    // потом символы строки
    fout.write(im.name.c_str(), size_name);
    
    fout.write((const char*)&im.age, sizeof(im.age));
    fout.close();
    
    MyStruct im2;
    
    ifstream fin("resource.bin", ios::binary | ios::in);
    if(fin.is_open())
    {
        // читаем размер строки (количество символов записанных в файл)
        int size_name;
        fin.read((char*)&size_name, sizeof(size_name));
        
        // выделяем память под строку
        im2.name.resize(size_name);
        
        // читаем символы строки
        fin.read((char*)im2.name.c_str(), size_name);
        
        fin.read((char*)&im2.age, sizeof(im2.age));
        fin.close();
    }
    else cout << "err" << endl;
    
    cout << im2.name << " " << im2.age << endl;
    
    system("PAUSE");
    return 0;
}

Но, по моему, бинарно записывать объекты string в файл, не есть хорошо.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru