簡體   English   中英

使用C ++用字節順序標記(BOM)編寫csv文件嗎?

[英]Write csv files with Byte Order Mark (BOM) using c++?

我正在嘗試使用c ++使用帶有BOM的UTF8創建一個csv文件。 誰能幫我,怎么做?

只需將BOM表放入字符串中並將其寫入文件(使用您使用的任何方法,例如流或經典cstdio):

const char *bom = "\xef\xbb\xbf"; // UTF-8
const char *bom_alt = {0xef, 0xbb, 0xbf, 0}; // the null termination is optional, depending on how you write it later on

然后,只需確保您實際上在編寫正確的UTF-8,並且沒有ANSI或寬字符字符串即可。 為此,我建議使用UTF8-CPP (已經在工作項目中使用了它,並且可以很好地工作,而不必使用Boost等大型庫)。

如果使用Qt庫,則可以使用QTextStream::setGenerateByteOrderMark(bool)添加BOM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM