首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C++ std::弦流/ostringstream流和UTF字符

C++ std::弦流/ostringstream流和UTF字符
EN

Stack Overflow用户
提问于 2014-07-28 14:07:25
回答 1查看 3.1K关注 0票数 5

我正在编写一个程序,它处理一些数据,将其输出到一个.csv文件中,然后编写一个GNUplot脚本,并调用GNUplot来执行该脚本,并创建一个名称相同的图像文件(只有不同的扩展名)。文件名包含UTF字符(我相信UTF-8?)如°、φ、θ等。当我用g++ 4.4.7在Linux中编译和执行它时,所有这些都非常好。然后,我修改了代码,以便在2008中编译,在运行该程序时,问题就开始了。

我使用以下两段代码

  1. 创建一个标准的文件名字符串(我只是为各种文件添加扩展名)
  2. 打开一个流来写入一个文件( GNUplot脚本和.csv文件之间唯一的区别是扩展名 //生成文件名字符串字符串流ss;ss <<类型<<“<< gID <<”-“<<标题;string fileName = ss.str();//打开输出文件字符串流的流;输出文件<< fileName << ".gplt”<< ends;

ofstream文件中ofs写入的内容正确地包含了UTF字符,但是字符串流创建的字符串fileNameostringstream创建的文件名(即使不是用fileName创建的,我也测试过了)错误地显示了字符。

示例:

它应该是什么- CDFvsRd图#32 - MWIR @300 m,无太阳,30 sun,θ=all°.csv 它的结局是- CDFvsRd图#32 - MWIR @300米,无太阳,30 sun,Ï=allË.csv

我能用尽可能多的标准C++来补救这个问题吗?将我的fileName字符串转换为wstring会有所帮助吗?

EN

Stack Overflow用户

回答已采纳

发布于 2014-10-09 13:05:03

解决方案是编写代码的Windows部分,不导出没有图形标题的文件名,从文件名中省略UTF-8字符。这不是真正的解决方案,只是一个解决办法。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24997101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档