网站大量收购独家精品文档,联系QQ:2885784924

QT文件操作---助手解释.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
QT文件操作---助手解释

基本用法 QFile类是一个操作文件的输入/输出设备。 QFile是用来读写二进制文件和文本文件的输入/输出设备。QFile可以自己单独被使用,但是如果和QDataStream或QTextStream一起使用将更加方便。 文件名通常可以通过构造函数来传递,但也可以使用setName()来设置。你可以通过exists() 来检查一个文件是否存在并且可以通过remove()来移去一个文件。 文件可以用open() 来打开、用close() 来关闭、用flush() 来刷新。数据通常可以使用QDataStream或者QTextStream进行读写,但你也可以使用readBlock() 和readLine() 来读,使用writeBlock() 来写。QFile也支持getch()、 ungetch() 和putch()。 size() 可以返回文件的大小。你可以通过使用at() 函数得到当前文件位置或者移到一个新的文件位置。如果你到了文件的末尾,atEnd()返回真。handle()返回文件句柄。 这里是一个使用QTextStream来一行一行地读取一个文本文件的代码段。它会把每一行带上一个行号打印出来。 ??? QStringList lines; ??? QFile file( file.txt ); ??? if ( file.open( IO_ReadOnly ) ) { ??????? QTextStream stream( file ); ??????? QString line; ??????? int n = 1; ??????? while ( !stream.eof() ) { ??????????? line = stream.readLine(); // 不包括“/n”的一行文本 ??????????? printf( %3d: %s/n, n++, line.latin1() ); ??????????? lines += line; ??????? } ??????? file.close(); ??? } ? 写文本也很容易(假设我们有一个行的字符串列表要写): ??? QFile file( file.txt ); ??? if ( file.open( IO_WriteOnly ) ) { ??????? QTextStream stream( file ); ??????? for ( QStringList::Iterator it = lines.begin(); it != lines.end(); ++it ) ??????????? stream *it /n; ??????? file.close(); ??? } ? ? 成员函数文档 QFile::QFile () 构造一个没有名称的QFile。 QFile::QFile ( const QString name ) 构造一个文件名为name的QFile。 QFile::~QFile () 析构QFile。调用close()。 bool QFile::at ( Offset pos ) [虚] 设置文件索引到pos。如果成功,返回真,否则返回假。 实例: ??? QFile f( data.bin ); ??? f.open( IO_ReadOnly );????????????????????? // 索引设置为0 ??? f.at( 100 );??????????????????????????????? // 设置索引为100 ??? f.at( f.at()+50 );????????????????????????? // 设置索引为150 ??? f.at( f.size()-80 );??????????????????????? // 设置索引为EOF之前的80 ??? f.close(); ? 不带参数使用at() 可以重新得到文件的位移。 警告:如果文件是使用IO_Append方式打开(open())的话,结果是未定义的。 bool QFile::atEnd () const [虚] 如果到达文件的末尾,返回真,否则返回假。 从QIODevice中重新实现的。 void QFile::close () [虚] 关闭一个打开的文件。 如果一个文件是使用一个存在的文件句柄打开的,那么它不是关闭的。如果这个存在的文件句柄是一个FILE*,这个文件被刷新。如果这个存在的文件句柄是一个int文件描述符,那么对这个文件将没有操作。 一些“在后面写的”文件系统也许会在关闭文件时报告一个未详细说明的错误。这些错误只表明在上一次打开(open())之后也许发生了一些错误。在这种情况下

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档