|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.07.2009, 10:17 | #1 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
ошибка при чтении файла
Господа,
простите за дурацкий вопрос (5лет на С-диалекты не использовал) пытаюсь читать файл читается но помоему с ошибкой ------------------файл при просмотре в hex-mode-------------------- 09 8d 09 78 09 63 09 4d ... -------------------------- -------------------мой код (коротко без проверок)------------------ Код:
в результате выполнения bufer[0] и bufer[1] принимают значения bufer[0] = 9 (0х09) bufer[1] = -115 (0xFFFFFF8D) // должно быть 141 (0x8D) может нельзя к такому буферу обращаться как к массиву? или я читаю этот файл как то не так? Последний раз редактировалось Sazary; 30.07.2009 в 13:38. |
30.07.2009, 11:35 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Вот проверил
Код:
I'm learning to live...
|
30.07.2009, 12:21 | #3 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
может нельзя использовать bufer[1] как int-овое значение?
почему то в строке val=bufer[0]*256+bufer[1] ; получается неверный результат пробовал val=(bufer[0]<<8)+bufer[1] ; всеравно bufer[0] в расчете участвует как 9-ка а bufer[1] как -115 ничего не понимаю конструкция типа (int)bufer[1] не помогает |
30.07.2009, 12:28 | #4 |
Unix C++ developer
Форумчанин
Регистрация: 16.04.2007
Сообщений: 651
|
Файл бинарный или текстовый ? Если бинарный, то следует открывать как
Код:
|
30.07.2009, 12:44 | #5 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
не помогло
подобная ошибка происходит почему то на всех значениях у которых старший 8-й бит равен 1-це как то странно |
30.07.2009, 12:51 | #6 | |
Заблокирован
Регистрация: 18.11.2007
Сообщений: 254
|
Цитата:
если есть нужна типизировать только как char то когда хош получить число пользуйя этой функцией Код:
Stilet действительно не работает ))) именно тот порядок байт =) попробуй в своем тест-примере написать русские символы Последний раз редактировалось lennon; 30.07.2009 в 12:53. |
|
30.07.2009, 13:05 | #7 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
спасибо
unsigned char помогло |
30.07.2009, 13:08 | #8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Ниче не понял...
Есть файл Цитата:
Код:
(Builder C++) Или я вопроса не понял...
I'm learning to live...
|
|
30.07.2009, 13:10 | #9 |
Заблокирован
Регистрация: 18.11.2007
Сообщений: 254
|
кстате в билдере работает я ж забыл что вы пользуетеся билдером ))
|
30.07.2009, 13:15 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если мои коллеги, модераторы, не будут против я продолжу немного не в тему:
Просьба знатоков Си разьяснить мне в чем разница для моего примера в разных компиляторах, или указать мне о чем тут собсно идет разговор, ибо никак я не пойму какую же ошибку автор словил.
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при открытии файла | Ciberal | Общие вопросы Delphi | 2 | 09.06.2009 22:58 |
ошибка при чтении файла | Alik-Soldier | Общие вопросы C/C++ | 1 | 31.05.2009 20:44 |
Проблема при чтении из файла | Satorin | Общие вопросы Delphi | 2 | 17.12.2008 11:32 |
Ошибка при чтении БД из файла!! | sting | БД в Delphi | 4 | 14.12.2008 22:23 |
C++: ошибка при открытии файла | Retiz | Помощь студентам | 2 | 30.08.2008 22:12 |