Chinaunix首页 | 论坛 | 博客
  • 博客访问: 208002
  • 博文数量: 16
  • 博客积分: 371
  • 博客等级: 二等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-09 21:56
文章分类

全部博文(16)

文章存档

2015年(4)

2012年(3)

2011年(9)

分类: C/C++

2011-10-13 21:58:06

1.QT中打开文件(类似C中的文件操作)
  1. QFile dataFile("dataFile.txt");
  2.     if (!dataFile.open(QFile::ReadOnly|QIODevice::Text))
  3.     {
  4.         ui->label_2->setText("open error");
  5.     }

打开文件后,使用QTextString或QDataString作为文件读写的接口

  1. QTextStream data(&dataFile);

2.读取文件内容

想要读取多行内容,但要注意remove('\n')

  1. QStringList fonts;
  2. while (!data.atEnd())
  3.   {
  4.         line = data.readLine();
  5.         line.remove('\n');
  6.         fonts<
  7.   };

3关于文件默认存放地点,及当前目录

    刚开始直接读取文件时,我把要读取的文件放在了工程代码文件夹下,结果总是读取错误,后来发现上一级目录下还有一个相关文件夹。

如你的工程文件夹F:\QT\QTworkspace\Clock 要读取的文件放在这里要写出绝对路径 

运行编译时生成的目标文件文件夹F:\QT\QTworkspace\Clock-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK____  这里就是当前文件夹

4.设置文件读写时编码格式

QT在windows下使用UTF-8编码格式,使用中文时,写入读取要设置正确格式

  1. QTextStream in(&addItem);
  2. QTextCodec *codec=QTextCodec::codecForName("UTF-8");
  3. in.setCodec(codec);

5.windows下txt文档的换行符是由两个字符"\r\n"构成的,,而linux下的文档的换行符号是'\n'

  1. in<<QString<<"\r\n";

6.文件内容清空

  1. QFile File("dataFile.txt");
  2. File.resize(0);
阅读(2371) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~