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

25.01.2010, 22:42
|
|
Pagan Heart
Регистрация: 12.08.2004
Сообщений: 3,791
Провел на форуме: 6490435
Репутация:
2290
|
|
а size_t - unsigned int (4 байта)
Неверно
дело в том, что процессор работает с UNICODE
*ROFL*
Насколько я понял size_t это алиас для unsigned int?
Нет, это беззнаковая целая размерностью с указатель.
|
|
|

26.01.2010, 01:01
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
2 AlexTheC0d3r
бывают ситуации, когда ты используешь фрагмент чужого кода например для генерации md5 хешей, а код этот был написан на Си в стародавние времена под unix...
Я практически не программировал под unix, но на своей памяти я не видел исходник си программы под unix c использованием unicode -> могу сделать вывод, что разрабатывая код под unicode ты лишаешься кроссплатформенности (ну это может я загнул)
|
|
|

26.01.2010, 02:16
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Сообщение от Gar|k
Snake Plissken мда... подобные ругательства лечатся явным определением типов...
char buf;
sprintf((TCHAR *)buf,...,...);
НО TCHAR это спецовый макрос (как уже сказал slesh), который в зависимости от настроек проекта ANSI или UNICODE создает определенные строки char или wchar_t
поэтому или пиши все в UNICODE или поставь в настройках проекта ANSI.
Ты понимаешь вообще что ты написал в примере ерунду полную. Помдакай мне еще тут.
А про кроссплатформенность - так это вообще отдельная тема, давайте здесь не будем ее затрагивать.
Слешу спасибо. А ололокающие товарищи идите на свой башорг а не срите в теме.
|
|
|

26.01.2010, 02:48
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
Snake Plissken сначала попробуй понять, что я написал а патом обсирай.
В WinAPI встречается куча преобразований т.к. например HANDLE это тот же DWORD тот же unsigned long, но компилятор ругается на передаваемые параметры. Примеры из жизни
HFONT font=(HFONT)GetStockObject( ANSI_VAR_FONT );
TCHAR buf[1024];
SendMessage(hwnd,WM_SETTEXT,NULL,(LPARAM)buf);
----
Если в твоем коде изначально используются куча переменных типа char и компилятор выдает кучу ошибок типа "cannot convert parameter from 'char *' to 'wchar_t *'" при компиляции поставь в настройках проекта - не использовать UNICODE кодировку.
----
TCHAR это макрос придуманный мелкософтом. что-то типа:
#ifdef _UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
- что означает что в зависимости от настроек проекта TCHAR будет или char или wchar_t другими словами или ANSI либо UNICODE
теперь твоему мозгу это понятно?
|
|
|

26.01.2010, 02:55
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Сообщение от Gar|k
Snake Plissken сначала попробуй понять, что я написал а патом обсирай.
В WinAPI встречается куча преобразований т.к. например HANDLE это тот же DWORD тот же unsigned long, но компилятор ругается на передаваемые параметры. Примеры из жизни
HFONT font=(HFONT)GetStockObject( ANSI_VAR_FONT );
TCHAR buf[1024];
SendMessage(hwnd,WM_SETTEXT,NULL,(LPARAM)buf);
----
Если в твоем коде изначально используются куча переменных типа char и компилятор выдает кучу ошибок типа "cannot convert parameter from 'char *' to 'wchar_t *'" при компиляции поставь в настройках проекта - не использовать UNICODE кодировку.
----
TCHAR это макрос придуманный мелкософтом. что-то типа:
#ifdef _UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
#endif
- что означает что в зависимости от настроек проекта TCHAR будет или char или wchar_t другими словами или ANSI либо UNICODE
теперь твоему мозгу это понятно?
Все что ты описал ниже своего примера из жизни я знаю и тебя об этом не спрашивал. А вот тот кусок кода что ты мне с самого начала скинул, там где sprintf((TCHAR) buf ... ты сам для начала скомпилируй и запусти. И посмотри что тебе выдаст студийный дебаггер.
Между прочим от чего все это? От неуважения к собеседнику.
Последний раз редактировалось Snake Plissken; 26.01.2010 в 02:59..
|
|
|

26.01.2010, 07:00
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
Между прочим от чего все это? От неуважения к собеседнику.
Все это от плохо заданных вопросов. Что ты хочешь получить на выходе. Для чего будет использоваться TCHAR*? В строку можно копировать как двоичное значение(тем самым получая обычный массив аля short* или BYTE*), так и переводить число в строку. То ли у тебя вся программа на TCHAR и ты не можешь адекватно понять юзать ли char* для целей хранения байтового массива.
Чем гавенее задается вопрос - тем больше флейма. Самому не понятно? Видишь срач начинающийся - значит косяк с вопросом. Конкретизируй, что тебе требуется.
|
|
|

26.01.2010, 10:30
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Я четвертым постом ответил что уже разрешил вопрос, понимаешь?
|
|
|

27.01.2010, 10:11
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ответ найдей. Хватит флудить! Тему закрываю!
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Аутентификация, Сравние нескольких типов аутентификации.
|
miig |
Безопасность |
4 |
18.01.2010 01:03 |
|
Преобразование hex символов в URL
|
fire64 |
С/С++, C#, Delphi, .NET, Asm |
2 |
11.12.2009 19:28 |
|
Защита от DDOS любых типов
|
stop-ddos |
Разное - Покупка, продажа, обмен |
0 |
11.11.2009 23:49 |
|
несоответствие типов
|
eagle_ua |
С/С++, C#, Delphi, .NET, Asm |
9 |
16.11.2005 10:22 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|