ofstream double类型输入变成逗号的问题

sunmoonfly 2010-08-11 10:53:53
写了个文本处理的函数
ofstream in_file (_T("c:\\test.txt"));
in_file.clear();
in_file << xxx << "\t";
输入的后格式如:5,301 -897,953 40,098.9

输出结果中自动加了逗号,我想不带逗号,如何实现:而且使用该函数处理的地方很多有的地方调用时是没有逗号的,很奇怪这是什么造成的时而输出带有逗号,时而输出不带逗号。
打算用setlocale设置环境的方式,没有成功,不知道该如何设置
...全文
271 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengzhixi 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 mingfei200169 的回复:]
感谢好像可以好了,我本来没有设置,后来为了避免出现中午路径出现乱码,改为设置中文,再后来直接写c盘后就这样设的 setlocale(LC_ALL,"C"); 没起到作用。
想问下这样设置后,in_file.imbue(std::locale("C"));
对原有环境有没有影响,应该只针对ofstream吧
[/Quote]
没有
jackyjkchen 2010-08-12
  • 打赏
  • 举报
回复
还是用C的stdio.h系列吧,直观得多
sunmoonfly 2010-08-12
  • 打赏
  • 举报
回复
感谢好像可以好了,我本来没有设置,后来为了避免出现中午路径出现乱码,改为设置中文,再后来直接写c盘后就这样设的 setlocale(LC_ALL,"C"); 没起到作用。
想问下这样设置后,in_file.imbue(std::locale("C"));
对原有环境有没有影响,应该只针对ofstream吧
brookmill 2010-08-11
  • 打赏
  • 举报
回复
试试这个:
in_file.imbue(std::locale("C"));

顺便问问楼主,现在用的什么locale
可以用这个来查看 cout << in_file.getloc().name() << endl;

64,650

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧