【问题标题】:c++ save formatted dword to str variablec ++将格式化的dword保存到str变量
【发布时间】:2015-10-05 11:42:02
【问题描述】:

我是 C++ 新手,请原谅我的无知。

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

这会打印出来,例如:48AE-2022。

我需要将其存储在 str var 中以将其写入文本文件。我尝试了 to_string(),但它存储了数字 9,我猜是字符数。

【问题讨论】:

    标签: c++ dword


    【解决方案1】:
    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 设置。

    【讨论】:

    • 救了我一些白发 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-15
    • 2011-07-19
    • 2018-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多