CEGUI::String

这两天跟CEGUI的String教了不少劲,写几点心得吧

1 String内部采用utf32编码,提供了String::data()和String::c_str()两个函数获取utf8编码格式。

    优点:可以支持世界上所有的字符,

    缺点:一个字符占32位,比较浪费空间。

 

2 加载中文路径文件失败

    跟踪一个文件的加载过程,会看到最终打开文件的一句话:

    std::ifstream dataFile(final_filename.c_str(), std::ios::binary|std::ios::ate); 

    //其中final_filename是CEGUI::String

 

    第一点里面说了String::c_str()返回的是utf8编码格式的字符,因此这个dataFile的open是失败的。这里有两个解决办法:1)避免文件路径中出现中文字符串,一般final_filename可以传相对路径,只要避免相对路径中出现中文就可以了。2)在这句代码之前做一个转换,将final_filename.c_str()转到当前代码页,然后再用ifstream打开。

 

3 utf8与char之间的转换函数。

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值