2013-05-17 40 views
1

我必須在我的http流C++服務器代碼中創建一個m3u8播放列表。 m3u8不過是UTF-8 m3u文件。使用C++創建和寫入UTF-8文件

如何創建UTF-8文件(即如何將UTF-8字符寫入文件)?也許在Linux上使用C++的open()函數或其他函數?

int fd = open("myplaylist.m3u8", O_WRONLY | O_APPEND); 
+1

只要你的C++文件是utf8編碼,沒關係 – daisy

+0

是的,我認爲我必須重新考慮如何將UTF-8字符寫入文件的問題? – neckTwi

+0

@neckTwi您是否事先知道該文件的內容,或者您​​是否從其他地方獲知它? –

回答

5

的方式你打算做open()是罰款。

什麼將決定一個文件是否在utf-8中,是您要寫入的字符。假設你將相關字符編碼爲utf-8,一切都將按預期工作。

如果您打算將給定的編碼(如ISO-8859-1)轉換爲utf-8,實現它的一個好方法是使用libiconv,它可以完成這個操作。

+0

+1用於提及libiconv – Anthon

+0

用於libiconv的s +1 – neckTwi

1

文件「是」utf-8取決於內容。只要你write()正確的字節序列在那裏,你會沒事的。