ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Category:

Преобразование числа в строку

В рамках изучения написания программ под Windows на C++ с применением Win32 API.

Изучил каркас простейшей программы с оконным интерфейсом в Windows. Вношу в текст этой программы изменения. Понадобилось преобразовать целое число в строку, чтобы вывести в окно.

Кстати, большое количество строковых типов и кодировок в Windows превращают работу с ними в полную жопу довольно непростую для начинающего задачу.

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

Самый легкий способ — использовать функции преобразования целого числа в строку из стандартной библиотеки языка Си (реализация которой для Windows — например, от фирмы Microsoft — библиотека CRT):

#include <windows.h>

int n = 0; // целое число (глобальная переменная)

...

// в обработке сообщения WM_PAINT

WCHAR str[5]; // строка
_itow_s(n, str, 10); // функция преобразования целого числа в строку
TextOut(hdc, 0, 0, str, wcslen(str)); // вывод полученной строки в окно
...

Описание функций типа _itow_s на сайте компании Microsoft:
https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/itoa-s-itow-s?view=vs-2017

Но в интернетах пишут, что чоткие пацаны теперь должны идти к успеху стандарту языка C++. Поэтому лучше использовать функции из стандартной библиотеки языка C++:

#include <windows.h>
#include <string> // подключаем для работы со строковым классом

int n = 0; // целое число (глобальная переменная)

...

// в обработке сообщения WM_PAINT

std::wstring str = std::to_wstring(n); // преобразование числа в строку
TextOut(hdc, 0, 0, str.c_str(), str.length()); // вывод строки в окно
...
Tags: Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments