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

Работа с бинарными файлами (программка дважды записывает последнее число) - 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 + 4 * j + 6 * k == 24) { std::cout << "3: " << i << " 4: " << j << " 6: " << k << std::endl; s++;
C++ Списки. Стеки. Очереди Квадрат разбит на {4}^{k} равновеликих квадратных клеток. Квадрат перегибается поочередно относительно вертикальной (правая половина подкладывается под левую) и горизонтальной (нижняя половина подкладывается под верхнюю) оси симметрии до тех пор, пока все клетки не будут расположены друг под другом. Требуется занумеровать клетки исходного квадрата таким образом, чтобы в результате выполнения... http://www.cyberforum.ru/cpp-beginners/thread804255.html
C++ MPI и scanf в С++
Вобщем я делаю параллельную программу. Все процессы в этой программе должны узнать некоторое целое число X, которое пользователь вводит с клавиатуры. Я пока знаю только один способ это осуществить - некоторый один процесс (например с рангом 0) получает это число с помощью scanf у пользователя, а затем шлет его в сообщениях всем остальным процессам (см. код ниже). Вопрос - можно ли как-то...
Ошибка в задаче про массивы C++
Написал прогу,строго не судите,но какой то косяк здесь не знаю даже где,она должна Найти сумму элементов массива, которые находятся между максимальным и минимальным числами. В сумму включить и оба этих числа.Помогите плиз ошибку найти #include <stdio.h> #include <iostream> #include <conio.h> #include<math.h> using namespace std;
C++ Окружность http://www.cyberforum.ru/cpp-beginners/thread804225.html
Господа! Как нарисовать систему координат (две оси Ох и Оу) круг с центром в начале координат, если известен максимум по одной из осей? Т.е. центр круга всегда начало коорд. (0) и известна одна точка на оси. Спасибо за внимание!
C++ Разворот строки через указатель ну вообщем обычное задание развернуть строку наоборот, обычный метод я знаю а как реализвать черерз указатели? for example: char *p=" i love c++" написал но оно не работает ))) char *mas="12345678"; for(int i=0,p=strlen(mas)-1;p>i;i++,p--) подробнее

Показать сообщение отдельно
alsav22
5415 / 4811 / 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 в файл, не есть хорошо.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru