zoukankan      html  css  js  c++  java
  • Qt 文本文件的读写操作

    二进制文件的读写文件可以使用QFile类、QStream
    文本文件的读写建议使用QTextStream类,它操作文件更加方便。
    打开文件时,需要参数指定打开文件的模式:

     

    模式 描述
    QIODevice::NotOpen 0x0000 不打开
    QIODevice::ReadOnly 0x0001 只读方式
    QIODevice::WriteOnly 0x0002 只写方式,如果文件不存在则会自动创建文件
    QIODevice::ReadWrite ReadOnly | WriteOnly 读写方式
    QIODevice::Append 0x0004 此模式表明所有数据写入到文件尾
    QIODevice::Truncate 0x0008 打开文件之前,此文件被截断,原来文件的所有数据会丢失
    QIODevice::Text 0x0010 读的时候,文件结束标志位会被转为’ ’;写的时候,文件结束标志位会被转为本地编码的结束为,例如win32的结束位’ ’
    QIODevice::UnBuffered 0x0020 不缓存

    QIODevice::Text在读写文本文件时使用,这样可以自动转化换行符为本地换行符。


    (1)写入文本文件

     1 QFile f("c:\test.txt");  
     2 if(!f.open(QIODevice::WriteOnly | QIODevice::Text))  
     3 {  
     4     cout << "Open failed." << endl;  
     5     return -1;  
     6 }  
     7   
     8 QTextStream txtOutput(&f);  
     9 QString s1("123");  
    10 quint32 n1(123);  
    11   
    12 txtOutput << s1 << endl;  
    13 txtOutput << n1 << endl;  
    14   
    15 f.close();

    写入的文件内容为:
    123
    123


    (2)读取文本文件

     1 QFile f("c:\test.txt");  
     2 if(!f.open(QIODevice::ReadOnly | QIODevice::Text))  
     3 {  
     4     cout << "Open failed." << endl;  
     5     return -1;  
     6 }  
     7   
     8 QTextStream txtInput(&f);  
     9 QString lineStr;  
    10 while(!txtInput.atEnd())  
    11 {  
    12     lineStr = txtInput.readLine();  
    13     cout << lineStr << endl;  
    14 }  
    15   
    16 f.close();
    屏幕打印的内容为:
    123

    123

    QTextStream的流操作符

  • 相关阅读:
    ibatis学习笔记
    记ibatis使用动态列查询问题(remapresults)
    jQuery(九)、ajax对象操作
    jQuery(八)、ajax
    jQuery(七)、效果和动画
    jQuery(六)、事件
    jQuery(五)、筛选
    jQuery(四)、文档处理
    jQuery(三)、属性、CSS
    jQuery(二)、选择器
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/12449222.html
Copyright © 2011-2022 走看看