Как я могу использовать DrawText () для отображения переменной?

Я могу нарисовать строковый литерал через DrawText():

DrawText (hdcWindow, "abc123", -1, &rc, DT_SINGLELINE);

Тем не менее, это не работает ни с чем другим. В частности, я не могу вывести значение, хранящееся в переменной, такой как int:

int variable = 5;
DrawText (hdcWindow, variable, -1, &rc, DT_SINGLELINE);

Или char:

char variable = a;
DrawText (hdcWindow, variable, -1, &rc, DT_SINGLELINE);

Как я могу использовать DrawText() отобразить содержимое переменной? Почему использование строкового литерала вроде "abc123" работать, но заменить его variable не делает?

0

Решение

DrawText знает только как отображать символьные строки. Чтобы отобразить что-либо еще, вам нужно сначала преобразовать в строку символов, а затем отобразить ее.

void show_int(int x, /* ... */) {
std::stringstream buffer;
buffer << x;

DrawText(hdcWindow, buffer.str().c_str(), -1, &rc, DT_SINGLELINE);
}
7

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

Других решений пока нет …

По вопросам рекламы [email protected]