Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/75: Рейтинг темы: голосов - 75, средняя оценка - 4.96
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2

Как прочитать несколько байтов в файле с n-го байта по m-й байт ?

29.10.2011, 10:25. Показов 14615. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как прочитать несколько байтов в файле с n-го байта по m-й байт ?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2011, 10:25
Ответы с готовыми решениями:

Как прочитать три разных байта в файле
Вот так пробовал: FileStream fs = File.OpenRead(path); byte f1 = new byte; byte f2 = new byte; byte...

Как прочитать несколько байт из файла с n-го бита
Требуется считать байты из файла заданным смещением; смещение задается в БИТАХ; Например: c 3-го бита 8-го байта прочитать 21 байт;

Прочитать несколько байт с сокета
Здравствуйте, уважаемые форумчане. Вопрос у меня следующий. reader::reader(QObject *parent) : QObject(parent) { socket =...

7
1 / 1 / 0
Регистрация: 28.10.2011
Сообщений: 7
29.10.2011, 10:32
Установиться на позицию в файле. Читать байты (char) в цикле от n до m.
В чем сложность?
0
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
29.10.2011, 10:35
fseek
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
29.10.2011, 11:09
C
1
2
3
4
FILE *f=fopen("...", "rb");
fseek(f, n, 0);
for(i=n; i<m; i++)
  fread(&bait, 1, 1, f);
Счет Байтов - с нуля
1
 Аватар для programina
2062 / 619 / 41
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
29.10.2011, 13:21  [ТС]
Спасибо Байт.
Я знала про fseek, но почему то только щас дошло как использовать
Теперь знаю как записать в один файл несколько других файлов.
А потом вытащить из него эти файлы :cofee:

ps:

fseek(f, n, SEEK_SET);
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
29.10.2011, 14:32
Цитата Сообщение от Байт
C
1
2
    for(i=n; i<m; i++)
        fread(&bait, 1, 1, f);
если использовать fread(), то можно просто вызов сделать для m - n
а читать по одному символу из двоичного потока можно через getc()
двоичный поток отличается от текстового тем, происходят ли преобразования в процессе ввода/вывода
к двоичному потоку можно даже fscanf() применять
1
71 / 76 / 9
Регистрация: 30.06.2011
Сообщений: 176
29.10.2011, 15:58
fseek для Си. А для C++ seekg:
C++
1
2
3
4
5
6
  char * buffer = new char [m-n];
  ifstream is;
  is.open ( "test.txt", ios::binary);
  is.seekg ( n, ios::beg);
  is.read ( buffer, m-n);
  is.close();
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
29.10.2011, 16:06
там не m байт читается, а с n по m - то есть m - n + 1, включая m-ный

Добавлено через 4 минуты
например, задано прочитать с 0 по 2
перейти на нулевой и прочитать 2 - 0 + 1 это 0 1 2
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.10.2011, 16:06
Помогаю со студенческими работами здесь

Arduino UNO. Прочитать несколько байт
Здравствуйте! Пытаюсь прочитать несколько байт в Arduino UNO. Я написал такой код: void setup() { Serial.begin(9600); ...

Закодировать файл. Взять 7 байт. Первый бит каждого байта переместить в 8 байт
Нужно открыть бинарный файл и закодировать следующим образом. Взять 7 байт. Первый бит каждого байта переместить в 8 байт. То есть,...

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить?
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru