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

Ошибка при записи в бинарный файл - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка function should have a prototype http://www.cyberforum.ru/cpp-beginners/thread1170646.html
Здравствуйте форумчане. Вот такой вопрос: писала как-то программу на Borland C++. Всё запускалось, прекрасно работало. Скачала полную версию того же Borland 3.1, вылезает 3 ошибки на функциях...
C++ Запутался в терминах (ключевые слова и зарезервированные слова) привет. читаю книгу по С++. там такие понятия как "Ключевые слова" и "Зарезервированные слова" используются как синонимы. погуглил. аналогичная ситуация: Зарезерви́рованное сло́во (или... http://www.cyberforum.ru/cpp-beginners/thread1170639.html
C++ Обязательно ли объявлять переменную для хранения адреса переменной как указатель?
// Указатели #include <iostream> using namespace std; int Variable; int *pVariable; // int pVariable; int main() {
C++ Разборка кода игры
Здравствуйте, скачал недавно игру, сделанную на с++. Хочу попробовать создать подобную, но не могу разобраться в коде. Могли бы вы закомментировать наиболее сложные моменты в коде, буду премного...
C++ Найти сумму четных элементов массива http://www.cyberforum.ru/cpp-beginners/thread1170591.html
Пожалуйста помогите, найти сумму четных элементов массива.
C++ Аналог wctomb Здравствуйте! Необходим аналог функции wctomb без использования функций библиотеки C\C++ и WinAPI. То есть, конвертация строки wchar_t в char. Помогите пожалуйста с реализацией. подробнее

Показать сообщение отдельно
MayaNash
1285 / 453 / 47
Регистрация: 24.08.2011
Сообщений: 2,214

Ошибка при записи в бинарный файл - C++

09.05.2014, 11:09. Просмотров 343. Ответов 8
Метки (Все метки)

Задание - записать в бинарный файл последовательность из N байт вида "00001111 11110000 00001111 ...".
Почему-то 11110000 записывается неправильно. Это 240 в десятичной и F0 в шестнадцатеричной системе, но при считывании получается FFFFFFF0. И дублируется последний байт. Почему?
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
#include <iostream>
#include <fstream>
using std::ifstream;
using std::ofstream;
using std::cin;
using std::cout;
using std::endl;
using std::ios;
 
void main()
{
    int n;
    setlocale(LC_ALL,"rus");
    cout << "Введите N: ";
    cin >> n; // вводим количество байтов
 
    char byte[2] = {15,240};
    ofstream fout("binfile",ios::binary);
    for (int i = 0; i < n; i++)
        fout.write(&byte[i%2], 1);
    fout.close();
 
    ifstream fin("binfile",ios::binary);
    char ch;
    while (!fin.eof())
    {
        fin.read(&ch,1);
        cout << std::hex << (int)ch << " ";
    }
    cout << endl;
    fin.close();
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru