我有以下代碼,我試圖將整數更改爲wstring,然後我可以將它傳遞給文本文件。但問題是,當它達到_itow_s(vec,img_stamp,10);行它將數字更改爲負數。 任何機構知道什麼是問題?更改整數到C++中的wstring
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);
感謝您的回覆,但問題是,如果我不使用wstring,我可以將數據添加到txt文件throguh WriteFile – user261002
但是,這確實會給你一個'wstring'! 'ws.str()'給你包含在流中的'wstring'。 (我已經編輯了代碼,以使其清晰。) – us2012
這將解決問題。 +1當然,當你已經有一個'wstringstream'時,使用'+ ='來進行字符串連接是非常愚蠢的。使用流來收集* everything *,然後在最後轉換爲字符串一次。 –