我正在编写一个程序,它处理一些数据,将其输出到一个.csv文件中,然后编写一个GNUplot脚本,并调用GNUplot来执行该脚本,并创建一个名称相同的图像文件(只有不同的扩展名)。文件名包含UTF字符(我相信UTF-8?)如°、φ、θ等。当我用g++ 4.4.7在Linux中编译和执行它时,所有这些都非常好。然后,我修改了代码,以便在2008中编译,在运行该程序时,问题就开始了。
我使用以下两段代码
ofstream文件中ofs写入的内容正确地包含了UTF字符,但是字符串流创建的字符串fileName和ostringstream创建的文件名(即使不是用fileName创建的,我也测试过了)错误地显示了字符。
示例:
它应该是什么- CDFvsRd图#32 - MWIR @300 m,无太阳,30 sun,θ=all°.csv 它的结局是- CDFvsRd图#32 - MWIR @300米,无太阳,30 sun,Ï=allË.csv
我能用尽可能多的标准C++来补救这个问题吗?将我的fileName字符串转换为wstring会有所帮助吗?
发布于 2014-10-09 13:05:03
解决方案是编写代码的Windows部分,不导出没有图形标题的文件名,从文件名中省略UTF-8字符。这不是真正的解决方案,只是一个解决办法。
https://stackoverflow.com/questions/24997101
复制相似问题