- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)