Анимация
JavaScript


Главная  Библионтека 

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

функции, преобразующие длинные целые в строку. form выгодно применять только для чисел с плавающей запятой (float).

Управляющие символы стандартные, и частично совместимые с printf и полностью совместимы со спецификаторами функции Message встроенного языка IDA.

Сф пояснение

десятичное длинное знаковое целое Пример:

Message("%d",0xF); 15

шестнадцатеричное длинное целое строчечными символами Пример:

Message("%x",10); a

шестнадцатеричное длинное целое заглавными символами Пример:

Message("%X",10); A

восьмеричное длинное знаковое целое Пример:

Message("%o",11); 13

десятичное длинное беззнаковое целое Пример:

Message("%u",-1); 4294967295

десятичное с плавающей точной Пример:

Message("%f", 1000000); 1.e6

символьное значение Пример:

Message("%c",33); !

строковое значение Пример:

Message("%s","Hello, Word! \n"); Hello, Word!

вывод чисел в экспоненциальной форме Пример:

Пример:

Message("%e", 1000000); 1.e6

вывод чисел в экспоненциальной форме

ЗАМЕЧАНИЕ: В оригинале спецификатор %а заставляет функцию саму решать, в какой форме выводить число - с десятичной точкой или в экспоненциальной форме, из соображений здравомыслия и удобочитаемости. 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 в длинное

целое.

операнд

Пояснение

Строковое шестнадцатиричное число

Return

==return

пояснения

длинное целое

Ошибка

Разрешается использовать спецификаторы 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