0

我有以下代码,我正在尝试将整数更改为 wstring,然后我可以将其传递给文本文件。但问题是当它到达 _itow_s(vec, img_stamp, 10); 将其更改为负数。任何机构都知道是什么问题?

wchar_t img_stamp[64];
   while(c<_timeStamp.size()){      
        vec=_timeStamp.at(c);
        _itow_s(vec, img_stamp, 10);    
        _data +=std::wstring(img_stamp);
        _data +=std::wstring(L"\r\n");
        c++;
    }


    HANDLE hFile; 
    DWORD wmWritten;    
    hFile = CreateFile( "D:\\test\\testing.txt" ,GENERIC_READ|GENERIC_WRITE,FILE_SHARE_READ,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); 
    if(hFile!=NULL){

        DWORD len=sizeof(_data);
        WriteFile(hFile, _data.c_str(), _data.size() * 2, &wmWritten, NULL);
    }   
    CloseHandle(hFile); 
4

2 回答 2

3

C++11 添加了一个名为“ std::to_string ()”的函数,它将数字、浮点数或 long long 转换为 std::string。wstrings还有一组相关的函数:std::to_wstring ()。

于 2013-03-28T15:44:21.603 回答
2

你为什么不使用一个wstringstream

wstringstream ws;
for (...) { // some loop
  ws << myint << ", ";
}
//now, you can use ws.str() to extract a wstring from the stream
于 2013-03-28T15:39:25.197 回答