|
binyan
Пользователь
Откуда: Israel Регистрация: Март 2005
Всего: 292 сообщения
|
Когда переводим все мапы в текстовые файлы, флаги всех объектов на мапе пишутся в одном длинном числе. Как мне получить значения каждого флага по отдельности из текстового файла?
----- ...выражая озадаченность, граничащую с озабоченностью..
|
Отправлено: 22:33 - 13 Авг., 2006
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Перевести его в шестнадцатеричный формат, например, с помощью виндового калькулятора. Затем влезть в доку по протофайлам и смотреть там что и где находится.
|
Отправлено: 8:55 - 14 Авг., 2006
|
|
binyan
Пользователь
Откуда: Israel Регистрация: Март 2005
Всего: 292 сообщения
|
Ок, тогда селдующий вопрос. Как в Сишке перевести число в 16-ричный формат?
----- ...выражая озадаченность, граничащую с озабоченностью..
|
Отправлено: 22:23 - 14 Авг., 2006
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Если на ночь глядя ничего не путаю - то так: int pAddress =16777216; //чего-то там..... // ... ... (void*)pAddress; printf("%x",pAddress);
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 23:56 - 14 Авг., 2006
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
int PID = 16777216; printf("%x", PID); :D
|
Отправлено: 10:46 - 15 Авг., 2006
|
|
Anchorite
Пользователь
Откуда: Не здесь Регистрация: Янв. 2003
Всего: 283 сообщения
|
А адрес-то от PID зачем брать? И помоему лучше будет так
Код:
int PID = 16777216; printf("0x%08X", PID)
|
Отправлено: 11:17 - 15 Авг., 2006
|
|
Wasteland Ghost
Маленькое Злое Привидение
Откуда: Россия, Самара Регистрация: Дек. 2002
Всего: 2251 сообщение
|
Я же говорю: :D. Привычка, блин, в шестнадцатеричном формате именно адреса выводить :D.
|
Отправлено: 19:46 - 15 Авг., 2006
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Lol Народ, я ж всего лишь на вопрос отвечал. Вот и привёл кусок из своего кода PID'ы там ни причём, просто способ перевода
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 22:23 - 15 Авг., 2006
|
|
binyan
Пользователь
Откуда: Israel Регистрация: Март 2005
Всего: 292 сообщения
|
Ок, это вывод на экран... А как придать переменной значение этого числа в 16-ричном формате. Опережая ответ, ещё один вопрос. Как получить какое то определённое место в числе 16-ричного формата. Например есть 0х002d542. как мне узнать что находится на 4-ой позиции (d) ?
----- ...выражая озадаченность, граничащую с озабоченностью..
|
Отправлено: 21:38 - 17 Авг., 2006
|
|
Ray
Модератор
Откуда: Донецк,Украина Регистрация: Янв. 2004
Всего: 746 сообщений
|
Я ж строки с комментариями не от понта приводил... Ок, ещё раз. Смотри: int pAddress =16777216; //чего-то там..... ReadProcessMemory(hNewProcess, (void*)pAddress, &movei, 4, NULL); printf("%x",pAddress); Таким образом в ф-ию чтения памяти передаётся целое число как 16-ое. Ну а если ещё проще, то так мо;но: int pAddress =16777216; //что надо перевести void* temp; //что получить temp = (void*) pAddress; //а дальше что угодно, типа printf("%x",temp); printf("%d",temp); //первое будет //0x1000000 //второе //16777216
----- Не бывает невозможных задач – бывает мало времени.
|
Отправлено: 22:56 - 17 Авг., 2006 | ИСПРАВЛЕНО: Ray - 21:59 - 17 Авг., 2006
|
|
|
|