Как в messagebox вывести значение переменной c
Перейти к содержимому

Как в messagebox вывести значение переменной c

  • автор:

Вывести переменную int в MessageBox

Я работаю над старым приложением, написанным на Visual C ++ 6.0. Я пытаюсь показать int переменная в MessageBox по причинам отладки. Вот мой код, я думал, что это будет простой процесс, но я только изучаю C ++. Две строки, которые я прокомментировал, я тоже попробовал с похожими ошибками. Ниже приведена ошибка, которую я получаю.

ошибка C2664: «MessageBoxA»: невозможно преобразовать параметр 2 из «char» в «const char *»

Решение

Зачем беспокоиться о строках в стиле C, если вы пометили C ++?

Хотя Марк Рэнсом предоставлена Решение MFC (что совершенно правильно), вот стандарт C ++:

использование boost::format для более сложного форматирования.

Другие решения

CString-х Format работает так же, как printf заполнить строку списком параметров.

Второй параметр MessageBox должен быть указатель на строка из char s, заканчивается на NULL. Проходя char не будет работать.

Но обучение использованию отладчика является неотъемлемой частью изучения языка. Почему бы не собрать отладочную сборку и установить точку останова на char test1 = index1; вместо? Вы делаете это, нажимая F9, когда курсор находится на этой строке.

Для чего это стоит, я предпочитаю использовать для этого манипулятор:

Это поддерживает (в основном) тот же интерфейс, к которому почти все уже привыкли iostream с, избегает небезопасных типов CString::Format и избегает нескольких отвлекающих моментов везде, где вы собираетесь отображать небольшую информацию для отладки. Другой очевидный хороший момент заключается в том, что если вы перегружены operator<< для вашего типа эта перегрузка будет работать и с этим.

Может попробовать это

Согласно вашей ошибке, вы должны объявить константный указатель на второй параметр.
Как это,

Также будет работать только «Текст».

Вот чистый С решение с использованием Sprintf метод для хранения всего ввода в буфере и передачи этого буфера Окно сообщения.

Make a Messagebox display a variable

I want a MessageBox to display an int variable, can anybody help?

6 Answers 6

You want to use the MessageBox.Show() method

Use string formatting with the message box:

Ashraf Sada's user avatar

jb’s answer is correct, if you need some more information MSDN has full documentation at: http://msdn.microsoft.com/en-us/library/aa984357(v=vs.71).aspx

For simple library matters, MSDN nearly always has excellent, easy to understand documentation.

This is really easy. Don’t get confused and write int test = 1; , then MessageBox.Show(«test:» + 1) , because then if test ‘s value changes, that will just print 1 instead of test ‘s new value 2 .

It is quite easy to achieve this, see this example:

Naresh Poonia's user avatar

Here: int test = 0; messagebox.show(Convert.ToString(test));

    The Overflow Blog
Related
Hot Network Questions

Subscribe to RSS

To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.3.11.43304

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

Как в messagebox вывести значение переменной c

Gray Pipe

Лучший отвечающий

Вопрос

Хочу сделать примерно вот что:

Но вижал ругается, подскажите пожалуйста — как сделать правильно.

Ответы

  • Помечено в качестве ответа PashaPash Moderator 2 марта 2012 г. 11:16

Если нужно больше одного параметра, то они указываются через запятую (см. String.Format)

  • Помечено в качестве ответа PashaPash Moderator 2 марта 2012 г. 11:16

Все ответы

  • Помечено в качестве ответа PashaPash Moderator 2 марта 2012 г. 11:16

Если нужно больше одного параметра, то они указываются через запятую (см. String.Format)

  • Помечено в качестве ответа PashaPash Moderator 2 марта 2012 г. 11:16

Пожалуйста, в следующий раз, не забудьте отметить ответы решившие проблему. Для этого под каждым сообщением есть кнопка Пометить как ответ. Тем самым вы покажете всем что проблема решена и отблагодарите человека, который помог найти решение.

Центры разработки
  • Windows
  • Office
  • Visual Studio
  • Microsoft Azure
  • Дополнительно.
Обучение
  • Microsoft Virtual Academy
  • Канал Channel 9
  • Журнал MSDN
Сообщество
  • Новости
  • Форумы
  • Блоги
  • Codeplex
Свяжитесь с нами
Программы
  • BizSpark (для стартапов)
  • Microsoft Imagine (for students)
  • Информационный бюллетень
  • Конфиденциальность и файлы cookie
  • Условия использования
  • Товарные знаки

logo© 2023 Microsoft

Вывести переменную int в MessageBox

Я работаю над старым приложением, написанным на Visual С++ 6.0. Я пытаюсь отобразить переменную int в MessageBox для отладки. Вот мой код, я думал, что это будет простой процесс, но я просто изучаю С++. Две строки, которые прокомментированы, я также попытался с подобными ошибками. Ниже приведена ошибка, которую я получаю.

ошибка C2664: ‘MessageBoxA’: не может преобразовать параметр 2 из ‘char’ в ‘const char *’

7 ответов

Зачем беспокоиться о строках C-стиля, если вы отметили С++?

Несмотря на то, что Mark Ransom предоставил решение MFC (это совершенно верно), здесь стоит стандартный С++

  • std:: to_string();
  • Массивы злы

Используйте boost::format для более сложного форматирования.

CString Format работает так же, как printf , чтобы заполнить строку списком параметров.

Второй параметр MessageBox должен быть указателем на строку char s, завершенную с помощью NULL. Передача char не будет работать.

Но научиться использовать отладчик является неотъемлемой частью изучения языка. Почему бы не построить сборку отладки и вместо этого установить точку останова на char test1 = index1; ? Вы делаете это, нажимая F9, когда курсор находится на этой строке.

Можно попробовать это

Для чего это стоит, я предпочитаю использовать для этого манипулятор:

Это поддерживает (в основном) тот же интерфейс почти всех, кто уже привык к iostream s, избегает типа-небезопасного CString::Format и избегает иметь несколько строк отвлечения во всем мире, где вы собираетесь отображать небольшую информацию для отладки, Другим очевидным является то, что если вы перегрузили operator<< для своего собственного типа, эта перегрузка также будет работать с этим.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *