C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Чтение байтов из файла, Char
НовичокЧок
Отправлено: 14.05.2005, 13:44


Ученик-кочегар

Группа: Участник
Сообщений: 10



Проблема в следующем:

При загрузке программы необходимо проверить последний байт EXE'ка (выполняемой программы) на наличие определенного символа (например "BB" (буквы латинского алфавита), символ записываю в EXE'шник при помощи HEX-редактора). Использую следующий код:



CODE

AnsiString ss;
ss=GetCurrentDir()+"\"+"R1.exe";
TFileStream* pr1 = new  TFileStream(ss,fmOpenRead);
char Buf[1];

pr1->Position=pr1->Size-1;
pr1->ReadBuffer(Buf,1);

if ( Buf[1] == Char("»"))  ShowMessage("Работает !!!");
// или
if ( Buf == ("»") )  ShowMessage("Работает !!!");

delete pr1;


при выполнении проги имеем следующие значения:
Buf="»"
Buf[1] ='I'
Char("»") = 'I'
все вышеперечисленные условия дают false.

Подскажите пожалуйста почему условия не дают true.

Заранее благодарен.
Георгий
Отправлено: 14.05.2005, 17:34


Почетный железнодорожник

Группа: Модератор
Сообщений: 874



CODE
if ( Buf[0] == '»' )  ShowMessage("Работает !!!");
** НовичокЧок
Отправлено: 23.05.2005, 11:44


Не зарегистрирован







Спасибо !!!

Вернуться в Вопросы программирования в C++Builder