Я новичок в C ++, так что прости мое невежество.
_tprintf(_T("%4.4X-%4.4X"), HIWORD(dwVolumeSerialNumber), LOWORD(dwVolumeSerialNumber))
распечатывается, например, для 48AE-2022.
мне нужно сохранить его в str var, чтобы записать его в текстовый файл. Я попытался to_string (), но он хранит число 9, которое я предполагаю, является количеством символов.
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
в зависимости от настроек юникода вашего проекта.