Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2009, 21:28   #1
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию VC++ файлы(чтение\запись)

Как прочесть из бинарного файла в 10-том слове 8-мой бит.
Как записать в бинарный файл(желательно без полной переписи файла) в 10-том слове в 8-бит.

Последний раз редактировалось ("")(Э_Є)(""); 15.06.2009 в 22:37.
("")(Э_Є)("") вне форума Ответить с цитированием
Старый 15.06.2009, 22:53   #2
evgenrpo
Пользователь
 
Регистрация: 31.05.2009
Сообщений: 71
По умолчанию

Наити 10 слово и прочитать 8 бит...
Для замены и считки seekg(),seekp() одного бита не переп... файл
evgenrpo вне форума Ответить с цитированием
Старый 15.06.2009, 23:13   #3
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Если ничего не напутал, то, вроде, так (пример)
Код:
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
using namespace std;

int main()
{
WORD k;

FILE *f = fopen("test2.exe","r+");  // открываем

fseek(f,10*sizeof(WORD),SEEK_SET);  // переходим к 10-му слову
fread((char*)&k,1,sizeof(WORD),f);  // читаем его
if(k&128) cout<<1<<endl;      // выводим значение 7-го бита
else cout<<0<<endl;

k = k | 128;        // делаем 7-й бит = 1

fseek(f,10*sizeof(WORD),SEEK_SET);  
fwrite((char*)&k,1,sizeof(WORD),f);  // пишем
fclose(f);

f = fopen("test2.exe","r");       // проверяем
fseek(f,10*sizeof(WORD),SEEK_SET);
fread((char*)&k,1,sizeof(WORD),f);
if(k&128) cout<<1<<endl;
else cout<<0<<endl;

fclose(f);

getch();
return 0;
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 16.06.2009, 14:05   #4
("")(Э_Є)("")
Форумчанин
 
Регистрация: 26.01.2009
Сообщений: 112
По умолчанию

Да, всем спасибо, разобрался. Только для навигации по слову я использовал смещения, а не магические числа. Тему можно закрывать.
("")(Э_Є)("") вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись и чтение из файла МаксMorfey Общие вопросы по Java, Java SE, Kotlin 5 10.06.2009 11:39
Чтение>сортировка>запись theFEAR Помощь студентам 1 22.04.2009 09:33
Запись и чтение файла... Altera Общие вопросы Delphi 5 06.05.2008 20:22
Запись и чтение сообщений Altera Работа с сетью в Delphi 6 13.04.2008 03:31