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

Чтение и запись блока данных в двоичном режиме - C++

Восстановить пароль Регистрация
 
TopLoader
 Аватар для TopLoader
41 / 41 / 4
Регистрация: 10.12.2011
Сообщений: 128
25.08.2012, 19:43     Чтение и запись блока данных в двоичном режиме #1
Исходник
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
// Чтение и запись блоков данных — использование read() и write().
#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    setlocale(LC_ALL, "Russian");
 
    int n[5] = {1, 2, 3, 4, 5};
    register int i;
 
    ofstream out("test", ios::out | ios::binary);
    if(!out) {
        cout << "Не могу открыть файл.\n";
        return 1;
    }
 
    // Запись блока данных
    out.write((char *) &n, sizeof n);
    out.close();
    system("pause");
 
    // Очистим массив
    for(i=0; i<5; i++)
        n[i] = 0;
 
    ifstream in("test", ios::in | ios::binary);
    if(!in) {
        cout << "Не могу открыть файл.\n";
        return 1;
    }
 
    // Чтение блока данных
    in.read((char *) &n, sizeof n);
 
    for(i=0; i<5; i++)
        cout << n[i] << " ";
 
    i = in.gcount();
    cout << "\n\nБыло прочитано " << i << " символов.\n";
    in.close();
 
    return 0;
}


Поясните пожалуйста значение следующих строк, не могу осознать их полностью:
C++
1
2
3
out.write((char *) &n, sizeof n);
 
in.read((char *) &n, sizeof n);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2012, 19:43     Чтение и запись блока данных в двоичном режиме
Посмотрите здесь:

C++ Запись и чтение структур данных
Работа с файлами (запись/чтение данных из бд) C++
Запись char в бинарном режиме C++
Функции и файлы. Чтение и запись данных в файл. Структура "Ноутбук" C++
[Файлы] Запись-чтение-запись. Почему не прокатывает? C++
Запись и чтение данных из внутренней флэш памяти винчестера, или получение ID винта C++
C++ Запись в файл в бинарном режиме
C++ Работа с файлами в двоичном режиме. Запись одного файла в другой

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
25.08.2012, 19:53     Чтение и запись блока данных в двоичном режиме #2
TopLoader, первый параметр - получаем адрес n и приводим его к однобайтовому типу. Второй параметр - кол-во байтов (кол-во char'ов). Соответственно работа такая - записать n по одному байту в sizeof(n) байтов.
Yandex
Объявления
25.08.2012, 19:53     Чтение и запись блока данных в двоичном режиме
Ответ Создать тему
Опции темы

Текущее время: 11:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru