![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
wallstreet |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Всем доброго времени суток. Вопрос наверняка элементарный, но меня он ставит в тупик.
Я создаю приложение Win32API в которое добавляю элемент управления Edit control и в которое стоит задача выводить информацию по открытым окнам на компе. Для сбора информации автор учебника предлагает мне воспользоваться классом string. Я, собственно, не против. Для этого я записываю в мою строку заголовок, который будет над всей дальнейшей информацией и потом к нему добавляю с помощью строчной (а может строковой) функции append() массив типа TCHAR и вот на этом этапе возникают траблы. немного кода:
вот ошибки:
Это сообщение отредактировал(а) wallstreet - 13.6.2012, 12:41 |
||||
|
|||||
Dem_max |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 16 Всего: 39 |
так нельзя делать так str = указателю на что-то, а не на начало строки. делай так
так бы я тоже не стал делать, вдруг у тебя st тип char, а ты его пытаешься привести к типу wchar_t, что совсем не одно и тоже и жди косяков. Это сообщение отредактировал(а) Dem_max - 13.6.2012, 12:47 -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
||||||
|
|||||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
+ st в данном случае несовместим с TCHAR,
его надо адаптировать к UNICODE-среде:
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
wallstreet |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 153 Регистрация: 11.8.2011 Репутация: нет Всего: нет |
Помогло, спасибо!! Кстати у меня в настройках проекта в Character Set установлено Use Unicode Character Set, разве компилятор (VS2010) не должен был понять что я работаю с юникодом? Или это проблема в функции, которая не имеет юникодного эквивалента? |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
почти все функции имеют такой эквивалент, для swprintf, например - это sprintf компилятор не знает ничего о таких эквивалентах, этим занимается программист, поэтому и вместо swprintf следует указывать _stprintf -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |