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 では、数値、float、または long long を std::string に変換する' std::to_string ()' という関数が追加されました。wstring に関連する一連の関数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 に答える