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

Запись бинарного файла - На консоль выводиться дважды последнее прочтенное значение - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Неправильно работает небольшая программа-калькулятор http://www.cyberforum.ru/cpp-beginners/thread1224693.html
это калькулятор фунтов, шиллингов и пенсов по старой системе. он должен уметь складывать, вычитать суммы, а также, умножать на число. складывает, вычитает, а умножать отказывается. помогите! ан нет,...
C++ Таблица рекордов для игры Доброго времени суток! Подскажите, пожалуйста, как сделать таблицу рекордов. Есть игра. Сначала вводиться имя игрока, потом игра, а затем нужно занести результат в таблицу. Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread1224673.html
Error C2040 в пользовательском классе C++
Функция main: int main( void ) { const char str = "message"; String( str ); std::cin.get(); std::cin.get(); return 0; } Ошибка в строке:
Создать отдельный управляемый поток для бесконечного процесса C++
Пишу простую визуализацию броуновского движения в С++ Builder-e рисуя кружочки на имейдже. Подскажите самый простой пример как запихнуть процесс движения в отдельный поток с реалзацией функции...
C++ Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел http://www.cyberforum.ru/cpp-beginners/thread1224659.html
Из множества целых чисел получить множество чисел, являющихся квадратами нечетных чисел.
C++ Поиск ссылки на литературный источник в тексте Задание простое Поиск ссылки на литературный источник в тексте (числа, взятого в квадратные скобки, например, ). Вывести его на экран. Заранее спасибо. Добавлено через 1 час 52 минуты апп подробнее

Показать сообщение отдельно
lotos580
1 / 1 / 1
Регистрация: 25.05.2012
Сообщений: 60

Запись бинарного файла - На консоль выводиться дважды последнее прочтенное значение - C++

08.07.2014, 22:56. Просмотров 278. Ответов 1
Метки (Все метки)

Ошибка: на консоль выводиться дважды последнее прочтенное значение (в данном случае - 20). Подскажите, пожалуйста, как избежать данную проблему?
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
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
 
int main()
{
    ofstream myFile1("file.bin", ios::binary);
    if(!myFile1)
    {
        cerr << "err1";
        exit(1);
    }
    for(int i = 0; i <= 20; i++)
    {
        myFile1.seekp(i * sizeof(i));
        myFile1.write(reinterpret_cast<char*>(&i), sizeof(i));
        cout << "sucess record #" << i << endl;
    }
    int a = 0;
    myFile1.close();
    
    ifstream myFile2("file.bin", ios::binary);
    if(!myFile2)
    {
        cerr << "err2";
        exit(1);
    }
    myFile2.seekg(0);
    while(!myFile2.eof())
    {
        myFile2.read(reinterpret_cast<char*>(&a), sizeof(a));
        cout << a << ' ';
    }
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru