C ++ сохранить отформатированный меч в переменную str

Я новичок в C ++, так что прости мое невежество.

_tprintf(_T("%4.4X-%4.4X"), HIWORD(dwVolumeSerialNumber), LOWORD(dwVolumeSerialNumber))

распечатывается, например, для 48AE-2022.

мне нужно сохранить его в str var, чтобы записать его в текстовый файл. Я попытался to_string (), но он хранит число 9, которое я предполагаю, является количеством символов.

3

Решение

TCHAR szBuff[100];
_stprintf_s(szBuff, sizeof(szBuff)/sizeof(TCHAR), _T("%4.4X-%4.4X"), HIWORD(dwVolumeSerialNumber), LOWORD(dwVolumeSerialNumber));

Или вы также можете сделать это в стиле C ++:

#include <sstream>
#include <string>

std::stringstream ss;
ss<<std::hex<<std::setfill('0')<<std::setw(4)<<HIWORD(dwVolumeSerialNumber)<<"-"<<std::setw(4)<<LOWORD(dwVolumeSerialNumber));

std::string sRes = ss.str();

В этом случае вы должны использовать std::string или же std::wstring в зависимости от настроек юникода вашего проекта.

2

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


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector