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

Бинарные файлы, чтение и запись - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Из строи получить фрагменты текста, которые расположены между первым и вторым двоеточием http://www.cyberforum.ru/cpp-beginners/thread186575.html
Помогите, пожалуйста, с написание лабы. задача такая: На экран вывести из каждой строки только те фрагменты текста, которые расположены между первым и вторым двоеточием, третьим и четвертым, пятым и шестым и т.д. Исходным является текстовый файл. В текст могут входить слова из латинских букв, цифры, знаки арифметических операций, точка, запятая, пробел. Требуется считать текст из файла, вывести...
C++ Определить, попадает ли точка с заданными координатами (x, y) в заштрихованную область Помогите пожалуйста. Я учусь на 1 курсе. Преподаватель заболел в то время когда нам обьясняли как делать лаб работу и его замещал другой который ничего не обьяснил. У меня осталась предпоследняя работа а сделать её не могу пример на котором обьясняли был очень лёгким но то задание которое досталось мне сложнее и по типу другое. И я не знаю как делать. http://www.cyberforum.ru/cpp-beginners/thread186573.html
C++ оператор условия if.
Я написал программу: #include<iostream.h> void main(void) { int test=95; if(test>=90) cout<<"Exelent!"<<endl; else; cout<<"sorry"<<endl;
C++ Сортировка Quick Sort
Можно написать код и коментами.
C++ оператор cin. Как вывести информацию. http://www.cyberforum.ru/cpp-beginners/thread186542.html
Я написал программу: #include<iostream.h> void main(void) { int t; cout<<"введите ваше любимое число и нажмите enter:"; cin>>t; cout<<"ваше любимое число равно "<<t<<endl; cin.get();
C++ Исключить из массива первый, предшествующий максимуму, положительный элемент Дан одномерный массив А, состоящий из N элементов. Исключить из массива первый, предшествующий максимуму, положительный элемент. подробнее

Показать сообщение отдельно
Viktory12345
 Аватар для Viktory12345
7 / 7 / 1
Регистрация: 11.12.2009
Сообщений: 41
05.11.2010, 17:54     Бинарные файлы, чтение и запись
Доброго времени суток.
Подскажите пожалуйста, как организовать побайтовое чтение и запись данных в бинарный файл.
Правильно ли будет организовано чтение(запись), когда используются
C++
1
2
in.read((char*)&сh,1*sizeof(__int8));
out.write((char*)&сh,1*sizeof(__int8));
Будет ли в этом случае каретка автоматически переходить на следующий символ?
PS программа на С++

Добавлено через 4 часа 4 минуты
Вот код программы, вроде бы получилось записывать и считывать побайтово.
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
#pragma hdrstop
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <tchar.h>
 
//---------------------------------------------------------------------------
 
#pragma argsused
 
const  int count=16;
int _tmain(int argc, _TCHAR* argv[])
{
__int8 mas[count]={0xBB,0x9,0x0,          
           0xB9,0x3,0x0,                   
           0xB8,0x3C,0x0,           
           0xF7,0xF1,           
           0xD1,0xD8,           
           0xD0,0xDB,           
           0x90};               
 
__int8 ch;
int i;
ofstream out("ex.dat", ios::binary);
for(i=0;i<count;i++)
    {
    ch=mas[i];
    out.write((char*)&ch,sizeof(__int8));
    }
 
out.close();
 
ifstream in("ex.dat", ios::binary);
i=0;
    while(in.good())
    {
        in.read((char*)&ch,sizeof(__int8));
        cout<<hex<<int(ch)<<endl;
        i++;
 
           getch();
    }
 
in.close();
 
return 0;
}
Однако смущают выводимые данные.
ffffffbb
9
0
ffffffb9
3
0
ffffffb8
3c
0
fffffff7
fffffff1
ffffffd1
ffffffd8
ffffffd0
ffffffdb
ffffff90
ffffff90

Т.е. считывается на 1 байт больше, чем было записано. И непонятно откуда вылазит последовательность "FFFFFF".
Прошу помощи у Вас, потому что я уже перепробывала все имеющиеся у меня варианты.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru