如何将 std::wstring 转换为 unsigned long C++ 跨平台?

问题描述 投票:0回答:0

将 wstring 转换为 unsigned long 这样是否正确还是有更好的方法?

    std::wstring in1 = L"ThisIsALongerWord";
    std::wstring in2 = L"K";
    std::wstring in3 = L"5";
    std::wstring in4 = L"ß";
    std::wstring in5 = L"";

     unsigned long in1_dw = ( unsigned long)( * in1.c_str() );  // This converts the first letter only which is fine
     unsigned long in2_dw = ( unsigned long)( * in2.c_str() );
     unsigned long in3_dw = ( unsigned long)( * in3.c_str() );
     unsigned long in4_dw = ( unsigned long)( * in4.c_str() );
     unsigned long in5_dw = ( unsigned long)( * in5.c_str() );

这给了我:

 in1_dw = 84
 in2_dw = 75
 in3_dw = 53
 in4_dw = 223
 in4_dw = 0
c++ type-conversion cross-platform wstring dword
© www.soinside.com 2019 - 2024. All rights reserved.