• 7426阅读
  • 6回复

[提问]QTextStream无法将回车写入文件 [复制链接]

上一主题 下一主题
离线peterxj108
 

只看楼主 倒序阅读 楼主  发表于: 2011-04-26
我的Qt版本是Qt Creator 2.1.0基于32位Qt 4.7.1
类似于如下一段代码
    QTextStream out(&;file);
    out<<xn<<endl<<zn<<endl<<dx<<endl<<dz<<endl<<layernum-1<<endl;
    out<<3<<endl<<2000<<endl<<3000<<endl<<4000<<endl;//临时与原来模型输入法一致
    for(int i=0;i<xn;i++)
        for(int j=0;j<zn;j++)
            out<<v[j]<<endl;
后来打开生成的文件,里面所有的数据都混在一块,根本没有回车分隔。
我试过把endl弄成"\n"后仍无效果,不知是何原因?
谢谢诸位!
离线dbzhang800

只看该作者 1楼 发表于: 2011-04-26
1. 有没有分割你是如何判断的?难道是编辑器不支持 '\n’ 换行符(比如windows下弱智的记事本)
2. 你是在windows下,而且打开文件时没有指定Text??
离线peterxj108

只看该作者 2楼 发表于: 2011-04-26
回 1楼(dbzhang800) 的帖子
是Windows 7,我在记事本里打开生成的文件发现没有回车,WPS打开后有,但软件读取数据似乎有些问题。
为啥记事本看不到回车呀?“指定Text”是什么意思,不懂……
[ 此帖被peterxj108在2011-04-26 23:16重新编辑 ]
离线dbzhang800

只看该作者 3楼 发表于: 2011-04-26
Re:回 1楼(dbzhang800) 的帖子
引用第2楼peterxj108于2011-04-26 23:13发表的 回 1楼(dbzhang800) 的帖子 :
是Windows 7,我在记事本里打开生成的文件发现没有回车,WPS打开后有,但软件读取数据似乎有些问题。
为啥记事本看不到回车呀?“指定Text”是什么意思,不懂……

这个你随便翻个C、或 C++的书,找到文件操作部分,应该都能找到介绍。

根源就是:windows比较变态,本来一个换行(\n)就解决的问题,它非要用两个字符。以至于所有在windows下的文件操作都有两种模式(文本、二进制),仅仅就是为了一个换行。

在非windows平台下,不存在这种问题。

稍微正常点的文本编辑器,都能处理这几种换行。
离线peterxj108

只看该作者 4楼 发表于: 2011-05-01
回 3楼(dbzhang800) 的帖子
原来如此,谢谢!
离线roywillow

只看该作者 5楼 发表于: 2011-05-01
不过我记得Qt可以根据平台对\n进行转义的啊
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zzjin

只看该作者 6楼 发表于: 2011-05-01
win下面得同时加入"\n\r"两个才行的吧
快速回复
限100 字节
 
上一个 下一个