关于qt写入文本文件换行的问题,求解惑

weixin_38051062 2019-09-19 02:07:16
代码如下,很简单我想要的输出是这样:(点表示空格)0..0..1..2..1..0..1..2..2..0..1..2..但实际输出是这样的:0..0..1..2....1..0..1..2....2..0..1..2....除了第一行以外,每行开头会出现两个空格,且会多出一行,有两个空格,实在不知道什么原因,求解答。谢谢复制代码int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QFile data("output.txt");    int i,j;    if(data.open(QIODevice::Text|QFile::WriteOnly|QIODevice::Truncate)){        QTextStream out(&data);        out<<qSetFieldWidth(3)<<left;             for(i=0;i<3;i++)                {   out<<i;                        for(j=0;j<3;j++)                        {                            out<<j;                        }                        out<<'\n';                }    }    return a.exec();}
...全文
801 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38060626 2019-09-19
  • 打赏
  • 举报
回复
已经找到原因了,最后输出的‘\n’,在设定宽度为3后,输出到文本文件的结果就是先换行再加上两个空格。修改后的代码如下: 复制代码int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QFile data("output.txt");    int i,j;    if(data.open(QIODevice::Text|QFile::WriteOnly|QIODevice::Truncate)){        QTextStream out(&data);             for(i=0;i<3;i++)                {   out<<qSetFieldWidth(3)<<left<<i;                        for(j=0;j<3;j++)                        {                            out<<j;                        }                        out<<qSetFieldWidth(1)<<'\n';                }    }    return a.exec();}

472

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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