Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема с FileRead() - чтение из файла

3.5K
07 декабря 2003 года
Hawker
14 / / 22.11.2003
У меня не работает функция FileRead().
Точнее, работает, все данные читаются не туда куда надо.
FileRead(somefile,&someMas,sizeof(Mas[0])*3);
Здесь someMas - это массив типа AnsiString из трех элементов.
Все ли здесь правильно? Не нужно ли переводить AnsiString в массив char (с пом. c_str())?
487
07 декабря 2003 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by Hawker
У меня не работает функция FileRead().
Точнее, работает, все данные читаются не туда куда надо.
FileRead(somefile,&someMas,sizeof(Mas[0])*3);
Здесь someMas - это массив типа AnsiString из трех элементов.
Все ли здесь правильно? Не нужно ли переводить AnsiString в массив char (с пом. c_str())?



Э-э-э батенька! Что есть AnsiString? Фактически класс работающий с динамической памятью типа char* переменной длинны которая по умолчанию неинициализирована. Тобишь память у тебя НЕ ВЫДЕЛЕНА!
Как же ты собираешься читать данные в неинициализированную область?
К тому же - переменная типа AnsiString есть указатель - и ты фактически описанной тобой функцией читаешь в МАССИВ УКАЗАТЕЛЕЙ типа AnsiString.

А чего тебе конкретно-то читать из файла в анси-стринги треба?

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог