Форум программистов, компьютерный форум 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--) подробнее

Показать сообщение отдельно
Plu6e4ka
0 / 0 / 0
Регистрация: 05.11.2012
Сообщений: 15
10.03.2013, 16:32  [ТС]     Работа с бинарными файлами (программка дважды записывает последнее число)
ЯснопонятноВсем спасибо

Добавлено через 24 минуты
Теперь запара с записью/чтением структур из бинарного файла
Заполняю файл этим:
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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
struct MyStruct
{
    string name;
    int age;
};
 
int main(){
    ofstream file("resource.bin", ios::binary|ios::out);
    MyStruct im;
    string name;int age;
    cin >> name;
    im.name = name;
    cin >> age;
    im.age = age;
    file.write((char*)&im, sizeof(im));
    file.close();
    system("PAUSE");
    return 0;
}
Читаю этим:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
struct MyStruct
{
    string name;
    int age;
};
 
int main(){
    ifstream file("resource.bin", ios::binary|ios::in);
    MyStruct im;
    if(file.is_open())
        file.read((char*)&im, sizeof(im));
    else cout << "err" << endl;
    cout << im.name << " " << im.age << endl;
    system("PAUSE");
    return 0;
}
Все работает (вторая программа считывает структуру и выводит на экран), но перед выходом она вылетает (появляется окошко "Прекращена работа програмы..."). В чем мой косяк?
 
Текущее время: 15:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru