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

Чтение из бинарного файла

02.10.2010, 23:53. Показов 2429. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.Возникла проблема при чтении имени объекта из бинарного файла,запись в файл идет по структуре |char|int|double|float|'/0'| (запись идет с первого байта)
C++
1
2
3
4
5
6
           char lname =0;
            char* tname = new char[lname];
            _read(hFile, tname, (int)lname);
            tname[lname]='\0';
            offset+=lname;
            _lseek(hFile, offset, SEEK_SET);
Для того что бы выделить память под имя,нужно считать его размер в переменную lname,но как это реализовать мозгов не хватает.
Направьте на правильный путь.
Зарание спасибо!.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.10.2010, 23:53
Ответы с готовыми решениями:

Чтение нескольких структур и одной переменной из бинарного файла. Формат файла имеется
Формат файла состоит из 3 структур и одной переменной. Подробное описание формата во вложении, просьба посмотреть его. У меня возникла...

Чтение из бинарного файла
Всем приветы. Подскажите или помогите, пожалста. Есть вот такая штука: #include "stdafx.h" #include <iostream> ...

Чтение из бинарного файла
Ну собственно,у меня есть некий двоичный файл,в него записана моя информация в двоичном виде,требуется считать эту информацию и вывести на...

7
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
03.10.2010, 00:16
ну... используйте какую нибудь темповскую переменную, а потом удалите. лубо запись приблизительно следующего вида:
C++
1
char* tname = new char [];
0
Эксперт С++
516 / 421 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
03.10.2010, 01:45
twiss, на самом деле в таких случаях проще поступают: перед строкой записывают его длину и потом прежде чем прочитать строку, читают длину и вся проблема решена.
0
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 6
03.10.2010, 09:11  [ТС]
gooseim, Это то понятно,и сделал бы так,но преподаватель требует без длинны имени в первом байте(сразу имя)
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
03.10.2010, 12:02
twiss, а строки фиксированной длинны тоже не проходят? В принципе структуры одинакового размера в файлах хранить довольно удобно - можно сразу по несколько штук в массив читать, или из массива в файл сохранять...
0
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 6
03.10.2010, 16:35  [ТС]
C++
1
2
3
4
5
            char* tname = new char[];
            _read(hFile, tname, strlen(tname));
            tname[strlen(tname)-1]='\0';
            offset+=strlen(tname);
            _lseek(hFile, offset, SEEK_SET);
Решил проблему следующим образом,корректно ли это?
0
98 / 94 / 16
Регистрация: 16.05.2010
Сообщений: 310
04.10.2010, 13:01
twiss, а Вы уверены в правильности 3-й строки? данные, которые в конце строки, не задевает "\0"?
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
 Аватар для easybudda
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
04.10.2010, 13:37
Цитата Сообщение от IchMors Посмотреть сообщение
а Вы уверены в правильности 3-й строки?
Цитата Сообщение от twiss Посмотреть сообщение
char* tname = new char[];
А это ничего, что размер не указан?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.10.2010, 13:37
Помогаю со студенческими работами здесь

Чтение из бинарного файла
Создала Базу данных. запись в файл происходит, а чтение из файла не получается. исправьте, пожалуйста, или подскажите как? #include...

Чтение бинарного файла
Подскажите пожалуйста как можно правильно открыть бинарный файл не зная структуры? С чего мне начать? Вот пример:

Чтение бинарного файла
Помогите, пожалуйста, научите, как правильно читать файлы! Есть бинарный файл. В нем хранятся шеснадцатиричные числа. (по 40 чисел в...

Чтение бинарного файла
Добрый Добавлено через 6 минут Добрый день. Не получается прочитать бин. файл. Суть какая: есть файл, в котором записаны дубл...

Чтение из бинарного файла
Уважаемые форумчане! Прошу помочь мне с чтением из бинарного файла. Проблема следующая. Есть функция, которая пишет в бинарный файл -...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru