Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
17 / 19 / 4
Регистрация: 03.02.2010
Сообщений: 262

Передача char массива в MessageBox

04.03.2012, 22:30. Показов 5534. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день господа. Не могу решить проблему. Пытаюсь обработать сообщение WM_MOVE и передать координаты окна в MessageBox. Но не знаю как правильно передать или сконвертировать массив типа char* в LPCTSTR.

вот код программы:

C++
1
2
3
4
5
6
7
void CMyTestFrame::OnMove(int x, int y)
{
        CFrameWnd::OnMove(x, y);
        char* coord= new char[20];
        sprintf(coord,"Left=%d|Top=%d",x,y);
        MessageBox(coord);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2012, 22:30
Ответы с готовыми решениями:

Передача символьного массива char
Привет всем. Подскажите пожалуйста. Есть функция в DLL. extern "C" __declspec(dllexport) void TestFan(char *bUUID,char *bName) { ...

Передача в функцию массива char
Есть функция : char f1(const char *str); Мне нужно её вызвать . Делаю так: char s; s="abcd"; // ошибка:...

Передача массива char в функцию
Ув. программисты, Ниже прикрепляю фукнцию, которая считывает число в двоичной системе и записывает его в массив не как число, а как набор...

11
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
04.03.2012, 22:37
Все правильно. Должно работать. А приведется само.
Но вместо char *coord = new... я бы просто написал: char coord[20];
0
 Аватар для (SkyNet)
35 / 40 / 15
Регистрация: 25.10.2011
Сообщений: 175
04.03.2012, 22:57
Вобшето правильно работать с юнкодом TCHAR, wchar_t
0
17 / 19 / 4
Регистрация: 03.02.2010
Сообщений: 262
05.03.2012, 10:27  [ТС]
Вариант с char coord[20] и с TCHAR пробовал, не помогает. Ничего само не сконвертируется, я уже пробовал. При передаче первого аргумента в MessageBox необходим тип LPCTSTR.
0
MrSmiLe
05.03.2012, 14:32
Ну если сделать "MessageBox((LPCTSTR)coord);" то всё должно работать.
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.03.2012, 14:57
Почему не использовать String, а затем подставлять Str.c_str() или Str.w_str() ?

Да и использовать можно конкретные версии MessageBoxA( ) и MessageBoxW( );
0
17 / 19 / 4
Регистрация: 03.02.2010
Сообщений: 262
05.03.2012, 22:07  [ТС]
А можно подробней, как сконвертировать CString для передачи в MessagBox?
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.03.2012, 22:53
C++
1
2
3
4
5
String  Str1="something";
String  Str2=L"something";
 
MessageBoxA(NULL,Str1.c_str(),"заголовок",MB_OK);    // Ansi
MessageBoxW(NULL,Str2.w_str(),L"заголовок",MB_OK);   // Unicode
1
 Аватар для darkknight2008
62 / 62 / 11
Регистрация: 16.10.2011
Сообщений: 200
05.03.2012, 22:56
Я обычно эту проблему решаю выставлением в свойствах проекта многобайтной кодировки...
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
05.03.2012, 23:00
Ну можно еще #define UNICODE тогда все WinApi функции по умолчанию в Unicode

C++
1
2
3
#define UNICODE
String  Str2=L"something";
MessageBox(NULL,Str2.w_str(),L"заголовок",MB_OK);   // Unicode
1
 Аватар для kazak
3604 / 2744 / 356
Регистрация: 11.03.2009
Сообщений: 6,306
06.03.2012, 05:43
Дабы избежать путаницы, если используете конкретные типы данных, пользуйтесь функциями с соответствующим суффиксом. Для char это функции с суффиксом A, для wchar - W.
0
17 / 19 / 4
Регистрация: 03.02.2010
Сообщений: 262
07.03.2012, 22:27  [ТС]
Всем спасибо господа!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2012, 22:27
Помогаю со студенческими работами здесь

Передача массива типа char в функцию
Не пойму в чем ошибка, выдает что ошибка в типе char. Объясните пожалуйста что не так. int min() { char ar =...

Передача массива Char в функцию. Как быть?
Столкнулся вот с такой проблемой, что #include <iostream> #include <fstream> #include <Windows.h> #include <conio.h> ...

Передача массива char в функцию
Пишу такой код //--------------------------------------------------------------------------- #include <stdio.h> #pragma hdrstop ...

Передача в функцию двухмерного массива char
public void FindSentense(char arrays,int size,char sentenses){ int j =0; for(int i=0;i<size;i++){ ...

Передача массива char в прототип функции
У меня есть функция public void shift(), я хочу передать в неё с main переменную типа string. Пробовал вот так public void shift(string...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru