簡體   English   中英

c ++將格式化的dword保存為str變量

[英]c++ save formatted dword to str variable

我是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::stringstd::wstring具體取決於您的項目unicode設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM