2014-01-26 21 views
0

正如標題所示,使用C++時,我遇到了一些從字符串中保存UTF-8文本的問題。 我可以確認該字符串是否有正確的數據,但是我無法將其寫入文件而不會丟失.gzip數據的一部分。將包含存儲在字符串中的.gzip數據的UTF-8文本保存到文件C++

請注意:1.ofstream不支持utf-8。 2.這僅適用於Windows,不需要它是通用的。 3.不要將.gzip解壓縮爲與字符串混合。

我使用這個:http://mariusbancila.ro/blog/2008/10/20/writing-utf-8-files-in-c/

下面是代碼:

std::wstring_convert<std::codecvt_utf8_utf16<wchar_t>> converter; 

std::wstring wide = converter.from_bytes(packetString); // Will not go past here for some reason. 

std::ofstream testFile; 

testFile.open("C:\\output", std::ios::out | std::ios::binary); 

std::string outtext = to_utf8(wide); 

testFile << outtext; 

testFile.close(); 

我無法得到這個代碼到我的字符串轉換時,它包含ASCII和UTF-8和我的組合我真的不確定它爲什麼會在評論欄中失敗。

+2

你可以讓它更具體,或粘貼一些代碼。或者你對答覆的期望。 –

+0

沒有任何相關的信息,我猜你忘了在二進制模式下打開你的流。 –

+0

對不起,原來的文章缺乏信息,我編輯它,它應該達到標準。 – user3237077

回答

0
testFile.write(packetString.data(), packetString.size()) 

我不好,這就是我所需要的。

相關問題