![]() |
|
|
![]()
|
|
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
NSVS7.1 C++
Читаю файл (через CFile) который лежит в корне диска d:\scheme_1.gif. Файл открывается, устанавливается позициz 68 байт от конца, дальше пытаюст считать - считывается 0 байт, ни ошибок ни эксцепшенов. Все пучком, а даные не читаются
Захожу внутрь этого вызова, там обычный ::ReadFile , который и выдает такой интересный результат. Считывается именно 0 байт. @ERR ошибок не показывает, эксцепшенов то же никаких. Вчем рпоблема??? Это сообщение отредактировал(а) knave - 29.3.2005, 14:15 -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
Разобрался. Подкузьмили MS мне основательно.
Файл открывался нормально, а вот такая конструкция работала не верное. CFile file; ... file.Seek(0 - sizeof(EncryptedHeader), CFile::end); 0 - sizeof(EncryptedHeader) - вместо знакового результата получался беззнаковый, так как в 7.1 это sizeof(EncryptedHeader) дает беззнаковый результат. Получалосб что вместо отрицательного смещения у меня дыло оченьболльшое положительное (отрицательное число в беззнаковом представлении). Пришлось все править на такую конструкцию, с явным преобразованеим типа. file.Seek(0 - (LONGLONG)sizeof(EncryptedHeader), CFile::end); в 6.0 file.Seek(0 - sizeof(EncryptedHeader), CFile::end); - это давало знаковы резкльтат -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |