Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 99

Прочитать из бинарного файла байт номер 0 и отобразить его на дисплее в виде числа

19.08.2015, 14:25. Показов 2189. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
прочитать из бинарного файла байт номер 0 и отобразить его на дисплее

в моем коде программа читает символ и на экране печатает аски изображение, вместо числа

как исправить?

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
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
 
fstream file("test.txt",std::ios::in|std::ios::binary);
int size = 0;
file.seekg (0, std::ios::end);
size = file.tellg();
cout << "file length : " << size << " bytes" << endl;
 
 
    
int Letter ;
file.seekg (0, std::ios::beg);
 
 
for ( int i = 0 ; i < 10 ; i = i + 1 )
{
    Letter = getc(file);
    cout << Letter << endl ;
}
 
 
 
file.close();
 
 
return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.08.2015, 14:25
Ответы с готовыми решениями:

Как прочитать первые 18 байт из бинарного файла
как прочитать первые 18 байт?

Как прочитать числа из бинарного файла
Нужна помощь. Пытаюсь читать из бинарного файла простые числа, но ничего не читается. Файл взят тут, там же и его описание, через Hex...

Как из mp3-файла прочитать длительность звучания в виде числа секунд?
Здравствуйте. Мне уже приходилось иметь дело со скриптом, читающим из МП3-файла метаданные - название, альбом, жанр, исполнитель, (чуть ли...

8
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
19.08.2015, 14:26
C++
1
cout << (int)Letter << endl ;
1
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 99
19.08.2015, 14:29  [ТС]
прочитать с 0 по 9 символы, но это не важно, а важно то, что в цикле

Добавлено через 2 минуты
поправил, та же ошибка:

read: невозможно преобразовать параметр 1 из 'int' в 'char *'
0
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
19.08.2015, 14:32
Ты специально "мозги пудришь"? У тебя нет функции read в коде.
1
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 99
19.08.2015, 14:34  [ТС]
поставил значек & в код , окончательный вариант выглядит так


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
#include "stdafx.h"
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
{
 
fstream file("test.txt",std::ios::in | std::ios::binary | ios_base::out);
int size = 0;
file.seekg (0, std::ios::end);
size = file.tellg();
cout << "file length : " << size << " bytes" << endl;
 
 
    
char Letter ;
file.seekg (0, std::ios::beg);
 
 
for ( int i = 0 ; i < 10 ; i = i + 1 )
{
    file.read( &Letter, 1 );
    cout << (int) Letter << endl ;
}
 
 
file.close();
 
 
return 0;
}
вроде бы работает
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
19.08.2015, 14:34
стоп, зачем ты считываешь char в int изначально...
C++
1
int Letter ; // ????????
0
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 99
19.08.2015, 14:43  [ТС]
dzrkot, спасибо за уточнение типа,

я хочу считать один символ hex , и напечатать его на мониторе, затем второй hex, ....

Добавлено через 5 минут
как правильно делать, если мне нужны только числа, а не символы?
0
zzzZZZ...
 Аватар для dzrkot
527 / 358 / 94
Регистрация: 11.09.2013
Сообщений: 2,041
19.08.2015, 17:00
Цитата Сообщение от ТомСойер Посмотреть сообщение
я хочу считать один символ hex , и напечатать его на мониторе, затем второй hex, ....
символ или код симваола....?

Добавлено через 12 секунд
вы путаете одно с другим
0
0 / 0 / 1
Регистрация: 04.08.2015
Сообщений: 99
19.08.2015, 17:36  [ТС]
когда я открываю файл в hex редакторе я вижу A3 B4 0E и т д
и никаких букв
я хочу прочитать значение A*16+3, затем B*16+4 , затем 16+E, итд
и напечатать эти три числа на мониторе
насколько вышеприведенный код подходит для такой задачи?

может быть нужно unsigned char использовать? как лучше сделать?
(а то с int у меня отрицательные числа печатаются, что не гуд)

это попытка сделать текстовый редактор
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.08.2015, 17:36
Помогаю со студенческими работами здесь

Считать числа с бинарного файла, найти их среднее арифметическое и вывести его на экран
написать программу, которая считывает числа с бинарного файла, находит их среднее арифметическое и выводит его на экран

Прочитать 5 байт от начала файла (без загрузки всего файла в память)
Ребят, какие есть варианты быстрого чтения первых 5-ти байт в начале файла? Основная проблема в том, что файлы огромные, могут достигать...

Чтение/запись определенного количества байт из бинарного файла
Подскажите пожалуста как реализовать на с++ в RAD Studio чтение определенного количества байт из нетекстового файла,а так же запись по...

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

Прочитать из бинарного файла в 5 по 8 байты включительно
что то непойму: Подскажите пожалуйста, как прочитать из бинарного файла байт (с 5 по 8 границы включены) * в виде потоков


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru