2016-04-06 36 views
0

Fopen kullanan bir kitaplık kullanmak istediğim fopen with unicode filename ile aynı durumdayım. Söz konusu kütüphane minizip ve bende UTF-8 kodlaması, pencereler, UNIX (OSX), iOS ve Android ile çalışmak gerekiyor. GetShortPathName hakkındaki tartışma da dahil olmak üzere yanıtları okudum ve temel olarak sonuç kütüphaneyi yeniden yazmasıdır. Bunun etrafında herhangi bir yolu var mı? Ayrıca, UNIX sistemindeki fopen işlevinin UTF-8 kodlamasını işleyebildiğini okudum (windows karşıtının aksine). Bunu onaylayan var mı?Minizip - fopen'i UTF-8 dosya adlarıyla kullanma

Gerçekten de etrafta dolaşmak ve mildeip'te her yerdeki bazı ifdef WINDOWS'ları koymaktan nefret ediyorum.

cevap

2

Windows altında Unicode projeleri için _wfopen kullanın. UTF-8 değil, Unicode (UTF-16) dizelerini kabul ettiğini unutmayın. UTF-8 standardı için standartek seçeneğine sahiptir. ccs: FILE *fp = fopen("newfile.txt", "rt+, ccs=encoding");

+0

Anladığım kadarıyla, fopen için kodlama seçeneği dosya adına değil, dosya içeriğine uygulanır. Yanlış mıyım? –

+0

@DavidMenard 'ccs' hakkında emin değilim - belki haklısınız. '_wfopen' Unicode dosya isimleri içindir. – i486