当前位置: 代码迷 >> Iphone >> 请问一个关于xcode下fopen的有关问题
  详细解决方案

请问一个关于xcode下fopen的有关问题

热度:76   发布时间:2016-04-25 06:10:07.0
请教一个关于xcode下fopen的问题
由于近期在做代码的迁移,将windows下的一些代码迁移到xcode下,碰到了一个的问题,
就是,fopen这个函数,打开一个文件,
在win32下,或者说标准c下,fopen( "测试.txt", "a+" ); 其中文件名是标准的ansi字符串。即双字节编码的格式,比如gb2312,big5之类。

但是在xcode内,如果将源代码设置为gb2312的格式,那么就会导致打开文件失败,因为fopen需要的是utf8格式!

现在问题是,我已经调用了 setlocal( LC_ALL, "zh_CN.gb2312" );并且将input-charset和exec-charset都设置为gb2312,但是,fopen依然要utf8!

为了保持跨平台的统一性,我希望的是,都用gb2312编码的源文件,能够都能用ansi字符串来打开文件,请教各位有没有什么办法? 
------解决方案--------------------
改成unicode16试一下。
------解决方案--------------------
最后一个办法是判断系统,然后将参数强制编码。
------解决方案--------------------
文件名都用英文就没事了