![]() |
|
![]() ![]() ![]() |
|
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Ребят, как узнать длину строки wchar_t?
wchar_t *qwe; Стандартные методы не подходят! заранее спасибо! -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
wcslen не подойдет?
|
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Да подошел! Большое человеческое спасибо!
А что это за переменная? Просто мне модуль готовый дали, а там этот тип! Где можно найти информацию, какие команды применимы к этому типу, и т.д. и т.п? -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
wchar_t - это "широкие символы". Т.е не char, а по сути int - кодировка Unicode
|
|||
|
||||
AndAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
Примерно вот это:
|
|||
|
||||
HappyLife |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 4 Всего: 8 |
Это переменная Юникода.
два байта - один символ. |
|||
|
||||
vikaz |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
примерно понятно, спасибо всем!!!
-------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
|||
|
||||
myk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
а я не понял)=. можно обьяснить или дать почитать как этими типами строковыми оперировать. вот к примеру
с екселем мучаюсь. Cur=sheet.OlePropertyGet("Cells",index,j); Cur.OlePropertySet("Value",DBGrid1->Fields[j-1]->AsString.c_str()); неробит когда мучаюсь с fopen(SaveDialog1->FileName.c_str(),"w"); неробит )= запарили эти widestring unicodestring wchar_t разъясните пожалуйста. в 6 билдере AnsiString.c_str() приводил к char, а в билдере 2009 к wchar_t. ![]() |
|||
|
||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
wchar_t может быть либо 2 либо 4 байта, потому нужно всегда проверять.
В Билдере String это unicodestring строка из wchar_t символов wchar_t это аналог char только размером не байт. Если нужно ему присвоить значение то это будет выглядеть так wchar_t ch = L'C'; Если это строка wchar_t *ch = L"Строка"; -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
myk |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
о том что для выражений L"XXX" работает я понял, непонял как
OlePropertySet("Value",DBGrid1->Fields[j-1]->AsString.c_str()); fopen(SaveDialog1->FileName.c_str(),"w"); сделать чаром |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
rthsobakas |
|
||||||
Опытный ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 562 Регистрация: 20.9.2007 Репутация: нет Всего: -1 |
myk,
ага... меня тоже это напрягает. У меня проблем. код
нажимаю Ф9. [BCC32 Error] PTestDll.cpp(19): E2034 Cannot convert 'wchar_t *' to 'char *' [BCC32 Error] PTestDll.cpp(19): E2342 Type mismatch in parameter 's' (wanted 'char *', got 'wchar_t *') Ф-ия Code_Dec выглядит так
И что такое L??? все пишут перед строкой Это сообщение отредактировал(а) rthsobakas - 2.3.2009, 22:53 |
||||||
|
|||||||
Alexeis |
|
|||
![]() Амеба ![]() Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 26 Всего: 459 |
плюс ко всем fopen заменяется на _wfopen
Признак строки в юникоде. От слова Long я думаю. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
myk |
|
||||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 2.3.2009 Репутация: нет Всего: нет |
OlePropertySet("Value",DBGrid1->Fields[j-1]->AsString.с_str()); открывается асм отладчик (не пашет в 2009 билдере в пред версиях c_str() был char) OlePropertySet("Value",DBGrid1->Fields[j-1]->AsString); оле выдает сообщение о неверном типе переменной из за этой строки
пробовал(= out=_wfopen(SaveDialog1->FileName.w_str(),"w"); [BCC32 Error] Unit1.cpp(127): E2034 Cannot convert 'const char *' to 'const wchar_t *' [BCC32 Error] Unit1.cpp(127): E2342 Type mismatch in parameter '__mode' (wanted 'const wchar_t *', got 'const char *') |
||||
|
|||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |