Анимация
JavaScript
|
Главная Библионтека функции, преобразующие длинные целые в строку. form выгодно применять только для чисел с плавающей запятой (float). Управляющие символы стандартные, и частично совместимые с printf и полностью совместимы со спецификаторами функции Message встроенного языка IDA.
вывод указателя (не поддерживается) ЗАМЕЧАНИЕ: вместо спецификатора %p IDA использует %a, преобразующее линейный адрес в строковой сегментный, и автоматически подставляет имя сегмента. Так, например, Message("%a \n",0x10002) выдаст seg000:2. Обратите внимание, что таким способом нельзя узнать адрес переменной. Пример: auto a; a="Hello! \n"; MessageC"%a \n",a); Возвращается ноль, а не указатель на переменную. вывод десятичного целого всегда со знаком, не опуская плюс. в оригинале - вывод шестнадцатеричного целого всегда со знаком, но ida воспринимает эту конструкцию точно так же как и x. n длина выводимого десятичного числа, при необходимости дополняемая слева пробелами. Например: Message("Число-%3d \n",1); Число- 1 Если выводимое число не укладывается в n позиций, то оно выводится целиком. Например: Message("Число-%3d \n",10000); Число-10000 n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева пробелами. Например: Message("Число-%3x \n",1); Число- 1 Если выводимое число не укладывается в n позиций, то оно выводится целиком. Напрмер: Message("Число-%3x \n",0x1234); Число-1234 n длина выводимого десятичного числа, при необходимости дополняемая слева незначащими нулями. Пример: Message("Число-%03d",1); Число-001 Если выводимое число не укладывается в n позиций, то оно выводится целиком. Пример Message("Число-%03d",1000) Число-1000 %0nx n длина выводимого шестнадцатеричного числа, при необходимости дополняемая слева незначащими нулями. Пример: Message("Число-%03x",0x1); Число-001 Если выводимое число не укладывается в n позиций, то оно выводится целиком. Пример: Message("Число-%03x",0x1234); Число-1234 Вывод префикса 0x перед шестрадцатиричными числами Пример: Message("%#x",123); 0x123 Вывод префикса 0 перед восьмиричными числами Пример: Message("%#o",1); %n I Количество выведенных символов (не поддерживается) long xtol (char str); Функция преобразовывает строковое шестнадцатеричное значение str в длинное целое.
Разрешается использовать спецификаторы x и h для указания системы исчисления, в противном случае будет использоваться система исчисления по умолчанию (как правило, шестнадцатеричная). Функция понимает одиночный знак + или но "спотыкается" на или на префиксе шестнадцатеричных чисел $, используемых языком Pascal. Числом считается все до первого нецифрового символа (кроме "A-F"). Так, например: Message("0x%X \n", xtol("123-2") 0x123 В случае ошибки возвращается ноль. Так, например. Message("0x%X \n", xtol("*1") 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 [ 137 ] 138 139 140 |