![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Заблокирован
Регистрация: 18.11.2007
Сообщений: 254
|
![]()
8D = 141 а это код символа Ќ
Проблема была в том, что в типе char он имел код FFFFFF8D (и это правильно), в десятиричной системе копилятор его переводил как -115. char 1-байтовое целое, используемое для хранения символа От -128 до 127 ИЛИ от 0 до 255 unsigned char 1-байтовое беззнаковое целое От 0 до 255 |
![]() |
![]() |
![]() |
#12 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Так у автора проблема была не при чтении сомволов а при выполнении
val= bufer[0]*256+bufer[1] ; Цитата:
Цитата:
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#13 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
![]() |
![]() |
![]() |
![]() |
#14 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Ладно. Прекращаю не по теме... Будем считать что проблема решена
![]()
I'm learning to live...
|
![]() |
![]() |
![]() |
#15 |
Заблокирован
Регистрация: 18.11.2007
Сообщений: 254
|
![]()
Такое умолчание установлено в зависимости от используемого компилятора. Чтобы определить, каковы переменные char для данного компилятора, достаточно запустить тестовую программу.
Код:
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 30.07.2009
Сообщений: 10
|
![]()
С++ Builder 6
|
![]() |
![]() |
![]() |
#17 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
![]()
Для Builder 6 тоже -1
|
![]() |
![]() |
![]() |
#18 |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]()
Всё, что без указания unsigned, по-умолчанию signed(int, char, long, etc...)(по-крайней мере в VS)
Для signed типов, при расширении до более вместительного типа происходит расширение по знаковому биту. bufer[1] содержал 141, битовый знак выставлен, потому при перемещении в 4-байтовую переменную три верхних байта заполнились единицами. Для unsigned верхние байты заполняются нулями Последний раз редактировалось netrino; 30.07.2009 в 13:51. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ошибка при открытии файла | 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 |