Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.67
twiss
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 6
#1

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

02.10.2010, 23:53. Просмотров 1649. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.10.2010, 23:53
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чтение из бинарного файла (C++):

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

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

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

Чтение бинарного файла - C++
подскажите пожалуйста как можно из любого файла(*.bmp, *.mp3, *.avi и т.д.) получить двоичное представление этого файла или хотя бы считать...

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

Чтение из бинарного файла - C++
Здравствуйте. У меня имеется некий класс Product, объекты которого хранятся в объекте класса Vector. Есть функция записи вектора в бинарный...

7
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
03.10.2010, 00:16 #2
ну... используйте какую нибудь темповскую переменную, а потом удалите. лубо запись приблизительно следующего вида:
C++
1
char* tname = new char [];
0
gooseim
Эксперт С++
509 / 413 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
03.10.2010, 01:45 #3
twiss, на самом деле в таких случаях проще поступают: перед строкой записывают его длину и потом прежде чем прочитать строку, читают длину и вся проблема решена.
0
twiss
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 6
03.10.2010, 09:11  [ТС] #4
gooseim, Это то понятно,и сделал бы так,но преподаватель требует без длинны имени в первом байте(сразу имя)
0
easybudda
Модератор
Эксперт CЭксперт С++
9722 / 5673 / 972
Регистрация: 25.07.2009
Сообщений: 10,920
03.10.2010, 12:02 #5
twiss, а строки фиксированной длинны тоже не проходят? В принципе структуры одинакового размера в файлах хранить довольно удобно - можно сразу по несколько штук в массив читать, или из массива в файл сохранять...
0
twiss
0 / 0 / 0
Регистрация: 02.10.2010
Сообщений: 6
03.10.2010, 16:35  [ТС] #6
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
IchMors
97 / 93 / 4
Регистрация: 16.05.2010
Сообщений: 310
04.10.2010, 13:01 #7
twiss, а Вы уверены в правильности 3-й строки? данные, которые в конце строки, не задевает "\0"?
0
easybudda
Модератор
Эксперт CЭксперт С++
9722 / 5673 / 972
Регистрация: 25.07.2009
Сообщений: 10,920
04.10.2010, 13:37 #8
Цитата Сообщение от IchMors Посмотреть сообщение
а Вы уверены в правильности 3-й строки?
Цитата Сообщение от twiss Посмотреть сообщение
char* tname = new char[];
А это ничего, что размер не указан?
0
04.10.2010, 13:37
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.10.2010, 13:37
Привет! Вот еще темы с ответами:

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

Чтение из бинарного файла - C++
Здравствуйте. Столкнулся с проблемой, не до конца понимаю от чего она возникает и как решить её. Открываю для чтения файл в бинарном...

Чтение бинарного файла - C++
как получить доступ к произвольному адресу файла? Нужно отправить файл через ком порт но не с 0 а с адреса 1а000 в цикле по 0х100 байт. с 0...

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


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.