|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
28.12.2011, 13:11 | #1 |
Пользователь
Регистрация: 18.08.2009
Сообщений: 32
|
Функция MessageBox
Здравствуйте, уважаемые форумчане!
Начал учиться по Щупаку программировать для windows. Набрал первый пример из книги (ниже привожу его) Код:
А компиллятор мне выдаёт ошибку 1>d:\documents and settings\александр\мои документы\visual studio 2008\projects\test_project1\test_pr oject1\main.cpp(5) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [20]' to 'LPCWSTR' говорит мол строка моя не является строкой Си. Что же делать ? |
28.12.2011, 13:17 | #2 |
Форумчанин
Регистрация: 12.02.2007
Сообщений: 360
|
|
03.01.2012, 03:34 | #3 |
Новичок
Джуниор
Регистрация: 03.01.2012
Сообщений: 4
|
Попробуй в конце добавить "\0"
Любой дурак может написать код, понятный компьютеру. Хороший программист пишет код, понятный человеку.
|
03.01.2012, 11:49 | #4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
строковые литералы(в С++) заключенные в двойные кавычки автоматически дополняются терминалым нулем. а если бы и не дополнялись, то была бы ошибка в рантайме, а не с юникодом. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
03.01.2012, 11:53 | #5 |
Пользователь
Регистрация: 24.06.2011
Сообщений: 69
|
k907, нет, речь тут о другом. в студии по умолчанию юникод определен. надо записывать строковые константы либо так L"my text" либо так TEXT("my text").
во втором случае будет компилироваться как для юникода так и для ANSI |
06.01.2012, 15:00 | #6 |
Форумчанин
Регистрация: 29.04.2008
Сообщений: 100
|
попробуй для начала взять компилятор без всяких наворотов, Например Dev-C++
|
06.01.2012, 16:19 | #7 |
Форумчанин
Регистрация: 11.08.2009
Сообщений: 558
|
|
06.01.2012, 16:58 | #8 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а я не согласен, стоит с самого начала провести грань между Юникод-проектом и обычным.
если в студии отключить Юникод у проекта то все будет отлично. http://programmersforum.ru/showthrea...hlight=Unicode Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
MessageBox | Nice42ru | Общие вопросы Delphi | 6 | 04.06.2010 11:35 |
MessageBox | CraZZZy-GameRRR | Общие вопросы Delphi | 7 | 30.05.2010 01:42 |
MessageBox | mifka72 | Помощь студентам | 13 | 08.02.2010 14:46 |
messageBox | Andrey174rus | Общие вопросы Delphi | 4 | 10.10.2009 17:45 |
MessageBox??? | Рустам | Общие вопросы Delphi | 3 | 16.01.2008 01:26 |