C++ 将c+中的整数更改为wstring+;

C++ 将c+中的整数更改为wstring+;,c++,integer,wstring,C++,Integer,Wstring,我有以下代码,我正在尝试将一个整数更改为wstring,然后我可以将其传递到一个文本文件。但问题是,当它到达伊图时(vec,img_邮票,10);行,将数字更改为负数。 有人知道问题出在哪里吗 wchar_t img_stamp[64]; while(c<_timeStamp.size()){ vec=_timeStamp.at(c); _itow_s(vec, img_stamp, 10); _data +=std

我有以下代码,我正在尝试将一个整数更改为wstring,然后我可以将其传递到一个文本文件。但问题是,当它到达伊图时(vec,img_邮票,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); 
wchar_t img_stamp[64];

而(c为什么不使用
wstringstream

wstringstream ws;
for (...) { // some loop
  ws << myint << ", ";
}
//now, you can use ws.str() to extract a wstring from the stream
wstringstreamws;
对于(…){//some循环

ws为什么不使用
wstringstream

wstringstream ws;
for (...) { // some loop
  ws << myint << ", ";
}
//now, you can use ws.str() to extract a wstring from the stream
wstringstreamws;
对于(…){//some循环

wsC++11添加了一个名为“()”的函数,该函数将数字、浮点或long long转换为std::string。还有一组与wstring()相关的函数。

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

谢谢您的回复,但问题是如果我不使用wstring,我可以通过writefile将数据添加到txt文件中,但它确实会为您提供一个
wstring
ws.str()
为您提供流中包含的
wstring
。(我编辑了代码以澄清这一点。)这将解决问题。+1当然,当您已经有一个
wstringstream
时,使用
+=
进行字符串连接有点愚蠢。使用流收集所有内容,然后在最后转换为字符串一次。感谢您的回复,但问题是如果我不使用wstring,我可以通过guh WriteFileBut确实为您提供了一个
wstring
ws.str()
为您提供了流中包含的
wstring
。(我编辑了代码以明确这一点。)这将解决问题。+1当然,当您已经有一个
wstringstream
时,使用
+=
进行字符串连接有点愚蠢。使用流收集所有内容,然后在最后转换为字符串一次。