Автор Тема: Символ с кодом 39->' при сравнении строк приводит к ошибке  (Прочитано 202 раз)

0 Пользователей и 1 Гость просматривают эту тему.

ya12

  • Освоившийся
  • **
  • Сообщений: 95
    • Просмотр профиля
Есть список нужных имен. Из памяти процесса по 2 байта читаются коды букв, до тех пор пока не 00 00. Преобразуются в символы и объединяются в $_name.
Если присутствует символ с кодом 39->' сравнение строк приводит к ошибке. Приходится его пропускать.

Кусок кода
Код: Clickermann
  1.                     $_name = ""
  2.                     $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C), 2)
  3.                     $b = 0
  4.                     WHILE ($_kb != 0)
  5.                        if($_kb!=39)  //  <--- см тут
  6.                           $_bukva = char($_kb)
  7.                           $_name = strconcat ($_name, $_bukva)
  8.                        end_if
  9.                        $b = $b + 2
  10.                        $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2)
  11.                     end_cyc
  12.  
  13.                     for($r=0, $r < $_kol_name)  //несколько имен
  14.                        if($arr_name[$r] = $_name) //проверка на совпадение<--см тут
  15.  
« Последнее редактирование: Декабрь 31, 2018, 09:44:36 pm от ya12 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Сообщений: 3527
  • Котэ
    • Просмотр профиля
А если добавить INT
Код: Clickermann
  1. $_kb = INT(readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2))

ya12

  • Освоившийся
  • **
  • Сообщений: 95
    • Просмотр профиля
Не помогло. Есть символ с кодом 39, есть ошибка. Нет символа, нет и ошибки.