textpub.neocities.org . [ записки: обучаюсь C++ ]
Из моих записок про самообучение C++. Оригинальный пост в ЖЖ написан 14.12.2018 г.
В рамках изучения написания программ под 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 можно прочитать здесь.
Но в интернетах пишут, что чоткие пацаны теперь должны идти к успеху стандарту языка 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()); // строку в окно ...