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

Запись и чтение бинарного файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибки в коде http://www.cyberforum.ru/cpp-beginners/thread587493.html
Как исправить ошибку? #include<stdio.h> #include<conio.h> #include<math.h> #include<string.h> #include<string.h> #include<stdlib.h> struct Qwe
C++ Упорядочить в каждой строке элементы массива, расположенные между первым и последним элементами, значения которых равны нулю, сместив в конец все ос Упорядочить в каждой строке элементы массива, расположенные между первым и последним элементами, значения которых равны нулю, сместив в конец все остальные; Вычисление значения в каждом столбце суммы элементов, расположенных между первым и последним элементами, значения которых равны нулю; Вывод в каждой строке элементов кратных пяти. Подскажите как доделать, запарился уже, вот код.... http://www.cyberforum.ru/cpp-beginners/thread587491.html
Как вывести переменную вещественного типа в графике? C++
всем доброго времени суток)) дописываю курсовую калькулятор . результат вычисления записывается в переменную типа Double... А теперь собственно вопрос -как её на экран вывести?
C++ Задача про кузнечиков
Даны n последовательных столбиков. Кузнечик находится на первом столбе, умеет прыгать на 1,2,...,k столбиков. Найти количество вариантов, которым он может допрыгать до n-го столба. Я знаю что решается динамическим программированием, пытался сам в нём разобрать, но не получилось. Мне нужен код на Pascal или C++, желательно с подробным объяснением.
C++ Оптимизация программы http://www.cyberforum.ru/cpp-beginners/thread587463.html
Здравствуйте, получил я задание написать программу перемножения двух больших чисел, используя быстрое преобразование Фурье. Дал мне преподаватель на это 4 дня, чему я очень удивился - маловато будет, да и к тому же зачетная неделя. Ну да ладно, нашел пару статей - худо-бедно написал. Прихожу сегодня сдавать, получаю ответ такой, что мол фуфло все, давай оптимизируй, мол, ускорь процесс. Вобщем...
C++ Разнообраный ввод даты Как устроить разнообразный ввод даты? Например: 03.08.1994 или 3.8.94. Не обязательно через точку, как угодно. подробнее

Показать сообщение отдельно
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246

Запись и чтение бинарного файла - C++

26.05.2012, 18:08. Просмотров 366. Ответов 0
Метки (Все метки)

Всем привет!
Ребята, хочу записать и считать данные из бинарного файла. Записать хочу структуру
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct ListChannel
    {
    public:
        ListChannel()
        {
            iNumberOfPaket=0;
            wcscpy( canal1,L"");
            wcscpy( canal2,L"");
            wcscpy(canal3,L"");
            wcscpy( canal4,L"");
            wcscpy(canal5,L"");
 
        }
        int iNumberOfPaket;
        TCHAR canal1[100];
        TCHAR canal2[100];
        TCHAR canal3[100];
        TCHAR canal4[100];
        TCHAR canal5[100];
        
    };
Я так понимаю, что неправильно произвожу приведение указателей при записи и чтении
чтение
C++
1
2
3
4
5
ListChannel data;
wfstream ClientFile ( "ListOfChannel.dat", ios::binary|ios::in|ios::out);
ClientFile.seekg( ( run - 1 )*sizeof( ListChannel ) );
ClientFile.read(reinterpret_cast<wchar_t *>( &data ),
sizeof( ListChannel ) );
запись
C++
1
2
3
4
ofstream FileChannel ( "ListOfChannel.dat", ios::binary );
FileChannel.seekp( ( run - 1 ) *sizeof( ListChannel ) );
FileChannel.write(reinterpret_cast<const char *>( &data ),
sizeof( ListChannel ) );
Если я правильно понимаю, при записи в виде Юникод приведение должно быть
C++
1
reinterpret_cast<wchar_t *>
а при чтении
C++
1
reinterpret_cast<char *>
То есть записываем по 2 байта, а считывать можем по одному байту.
Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru