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

25.01.2010, 10:32
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Преобразование типов С\С++
Пагни, у меня вопрос. Как можно грамотно преобразовать size_t в TCHAR.
Насколько я понял size_t это алиас для unsigned int?
|
|
|

25.01.2010, 10:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
эм.. TCHAR это в зависимости от настроек алиас на wchar_t (2 байта) или char (1 байт)
а size_t - unsigned int (4 байта) Так что преобразовать полностью не получится. Места не хватит.
|
|
|

25.01.2010, 10:58
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Я подразумеваю что у меня TCHAR'овая строка.
|
|
|

25.01.2010, 11:05
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Ну тогда TCHAR* а не TCHAR
Тебе что именно нужно? перевести из числа в строку или просто засунуть в двоичном виде в буфер?
Если просто засунуть в буфер, то
TCHAR * buf; или TCHAR buf[хзхз];
int i;
*(int*)buf = i;
Если преобразовать в стркоу, то
sprintf(buf, "%u", i);
|
|
|

25.01.2010, 11:14
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
sprintf ругается
Код:
Error 1 error C2664: 'sprintf' : cannot convert parameter 1 from 'TCHAR *' to 'char *'
swprintf и прочее пробовал - компилер не ругается, а во время работы программа вылетает с немыслимыми ошибками и еретическими речами
|
|
|

25.01.2010, 12:54
|
|
Новичок
Регистрация: 07.07.2008
Сообщений: 22
Провел на форуме: 64581
Репутация:
0
|
|
Все, разобрался. С TCHAR * buf не работает, нужно размер указывать обязательно. Хуита
|
|
|

25.01.2010, 18:59
|
|
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
Провел на форуме: 991929
Репутация:
395
|
|
Snake Plissken мда... подобные ругательства лечатся явным определением типов...
char buf;
sprintf((TCHAR *)buf,...,...);
НО TCHAR это спецовый макрос (как уже сказал slesh), который в зависимости от настроек проекта ANSI или UNICODE создает определенные строки char или wchar_t
поэтому или пиши все в UNICODE или поставь в настройках проекта ANSI.
|
|
|

25.01.2010, 21:21
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от Gar|k
Snake Plissken мда... подобные ругательства лечатся явным определением типов...
char buf;
sprintf((TCHAR *)buf,...,...);
НО TCHAR это спецовый макрос (как уже сказал slesh), который в зависимости от настроек проекта ANSI или UNICODE создает определенные строки char или wchar_t
поэтому или пиши все в UNICODE или поставь в настройках проекта ANSI.
программа написаная с использованием UNICODE, будет работать быстрее чем с ASCII
дело в том, что процессор работает с UNICODE, и если программа написана в с использованием ascii, будет затрачено дополнительное время на преобразование
|
|
|

25.01.2010, 21:51
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
Провел на форуме: 1354067
Репутация:
599
|
|
дело в том, что процессор работает с UNICODE, и если программа написана в с использованием ascii, будет затрачено дополнительное время на преобразование
какой нах процессор с юникодом работает? это апи виндовые юникодные. и именно ось тратит время на преобразование аски в юникод.
ps: последнее время столько лулзов даж баш не доставлял, сколько форум ачата.
|
|
|

25.01.2010, 22:31
|
|
Постоянный
Регистрация: 25.07.2008
Сообщений: 454
Провел на форуме: 1229135
Репутация:
425
|
|
Сообщение от Ra$cal
какой нах процессор с юникодом работает? это апи виндовые юникодные. и именно ось тратит время на преобразование аски в юникод.
ps: последнее время столько лулзов даж баш не доставлял, сколько форум ачата.
Очепятка, извините
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Аутентификация, Сравние нескольких типов аутентификации.
|
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)
|
|
|
|