Author Topic: Символ с кодом 39->' при сравнении строк приводит к ошибке  (Read 2160 times)

0 Members and 1 Guest are viewing this topic.

ya12

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

Кусок кода
Code: (clickermann) [Select]
                     $_name = ""
                     $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C), 2)
                     $b = 0
                     WHILE ($_kb != 0)
                        if($_kb!=39)  //  <--- см тут
                           $_bukva = char($_kb)
                           $_name = strconcat ($_name, $_bukva)
                        end_if
                        $b = $b + 2
                        $_kb = readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2)
                     end_cyc
                     
                     for($r=0, $r < $_kol_name)  //несколько имен
                        if($arr_name[$r] = $_name) //проверка на совпадение<--см тут
« Last Edit: December 31, 2018, 09:44:36 PM by ya12 »

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
А если добавить INT
Code: (clickermann) [Select]
$_kb = INT(readmem($_pid, ($_addr_zap4 + 0x0000001C + $b), 2))

ya12

  • Активный участник
  • ***
  • Posts: 165
    • View Profile
Не помогло. Есть символ с кодом 39, есть ошибка. Нет символа, нет и ошибки.