Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

Чтение и запись бинарного файла - C++
Добрый день! Есть задача прочитать с бинарного файла информацию, обработать ее и записать результат в бинарный файл. #include "stdafx.h"...

Запись/чтение бинарного файла - C++
Здавствуйте, помогите, пожалуйста, с чтением и записью объекта в бинарный файл. Пишут, что невозможно записать в бинарный файл, если в...

Написание и чтение бинарного файла в С++ - C++
У меня возникла проблема, которую решить не могу. Вбиваю целое число N и N вещественных чисел. После вывожу эти числа сразу же на экран....

Чтение структуры из бинарного файла - C++
Не работает, вроде все верно. #include "stdafx.h" #include <conio.h> #include <iostream> using namespace std; int main() ...

Чтение/запись бинарного файла - C++
Надо проверить корректно ли работает стек. #include "stack.h" #include <fstream> #include <iostream> using namespace std; ...

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

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

неправильное чтение бинарного файла. - C++
программа должна по идее вывести 99.. мне так казалось.. #include <iostream> #include <stdlib.h> #include <stdio.h> using...

Чтение данных из бинарного файла - C++
читаю по while (!stream.eof()), проблема в том что в конце в условие лишний раз заходит, и пытается считать данные, хотя уже файл кончился,...

Чтение из бинарного файла значений - C++
Доброго времени суток. Есть бинарный файл. Можно из него как-нибудь считать значения по адресам? 0x77, 0x1E, 0xEB, 0x4E Просто не...

Чтение из бинарного файла в структуру - C++
Собственно вопрос в заголовке, есть структура: struct StructEmployee {; int id; string fullname; string...


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
04.10.2010, 13:37     Чтение из бинарного файла #8
Цитата Сообщение от IchMors Посмотреть сообщение
а Вы уверены в правильности 3-й строки?
Цитата Сообщение от twiss Посмотреть сообщение
char* tname = new char[];
А это ничего, что размер не указан?
Yandex
Объявления
04.10.2010, 13:37     Чтение из бинарного файла
Ответ Создать тему
Опции темы

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