ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

12.09.2007, 21:15
|
|
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
Провел на форуме: 5339610
Репутация:
4360
|
|
Ky3bMu4
ИМХО: ранд\сранд - дерьмо. Тока добавляет размер к файлу + нелюбит /ENTRY:WinMain , я делаю так:
Чтобы делать такие смелые заявления, нужно сначала разобраться, что такое C Run-Time Library (CRT)
|
|
|

12.09.2007, 21:25
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
10x 2 Ni0x, который подсказал правильный вариант, но потом куда-то ушел...
char lpStr[10];
GetDlgItemText(IDC_EDIT1,lpStr, sizeof(lpStr));
MessageBox(&lpStr[1], 0, 0);
но теперь выводятся все символы, начиная с lpStr[1], а не просто второй символ эдита. нужно выводить посимвольно... какие есть идеи?
|
|
|

12.09.2007, 21:25
|
|
Постоянный
Регистрация: 27.08.2006
Сообщений: 367
Провел на форуме: 2009677
Репутация:
472
|
|
_Great_ , пример не мой, копирайты стоят, просто показан принцип генерации чисел, кому действительно надо - исправит.
|
|
|

12.09.2007, 21:53
|
|
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме: 1845671
Репутация:
1338
|
|
Piflit Попробуй так:
char lpStr[10];
char cTmp;
GetDlgItemText(IDC_EDIT1,lpStr, sizeof(lpStr));
for(int i=0; i<sizeof(lpStr); i++)
{
cTmp = lpStr(i) ;
MessageBox(0,&cTmp, 0, 0x40);
}
//Ni0x, _Great_ , Ky3bMu4 Спс за примеры и помощь. Пошел тестить псевдо случайность 
Последний раз редактировалось GlOFF; 12.09.2007 в 21:55..
|
|
|

16.09.2007, 15:44
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
как перевести тип из char * в unsigned char?
|
|
|

16.09.2007, 15:53
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Указатель ты можешь привести к другому типу, но он всегда останется указателем, а просто к типу unsigned char ты его никогда не приведёшь... Если ты имел в виду первый случай, то сделай так
char *char_ptr;
(unsigned char*)char_ptr; // Приведение типа указателя
|
|
|

16.09.2007, 16:02
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
char *char_ptr;
(unsigned char)char_ptr;
хз, компайлер съел... только пока не работает... скорее всего ошибка в другом
|
|
|

16.09.2007, 16:06
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Piflit, компайлер оптимизирующий, он мог этот бред проигнорировать... Бред приводить указатель (адрес памяти) к беззнаковому типу.
|
|
|

16.09.2007, 16:08
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
Провел на форуме: 5128756
Репутация:
2032
|
|
а что делать, если функция обрабатывает строку и возвращает char * , который потом надо записать в массив unsigned char abc[123] ?
|
|
|

16.09.2007, 16:14
|
|
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме: 2238549
Репутация:
1318
|
|
Вопроса не понял... Ну у тебя есть указатель... Если известна длина строки по возвращённому указателю - копируй с помощью strcpy или memcpy в массив abc... Например:
char *some_ptr;
unsigned char abc[123];
strcpy(&abc[0], (unsigned char*)some_ptr);
или так:
char *some_ptr;
unsigned char abc[123];
strcpy(abc, (unsigned char*)some_ptr);
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|