国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Qt 文件處理詳細講解教程 上篇

移動開發
本文介紹的是Qt 文件處理的內容,有讀寫文本類、操作二進制類、QTemporaryFile臨時類,等一些常用的類的介紹。

本文介紹的是Qt 文件處理的內容。Qt提供了QFile來進行文件處理,為了更方便地處理文本文件或二進制文件Qt還提了QTextStream和QDataStream,處理臨時文件可以使用QTemporaryFile,獲取文件信息可以使用QFileInfo,處理目錄可以使用QDir.監視文件和目錄變化可以使用QFileSystemWatcher. 。

讀寫文本文件

QFile提供了讀寫文件的接口,QFile可以讀寫文本文件,二進制文件Qt資源文件,也可以使用更方便的QTextStream,QDataStream讀取文本文件和二進制文件,要打開一個文件,可以在構造函數中指定文件名,也可以在任何時候使用setFileName()函數設置文件名,打開文件使用open函數,關閉文件使用close函數。QFile中可以使用QIODevice中繼承的readLine()函數讀寫文本文件的一行。如:

  1. QFile file("zeki.txt");  
  2. if(file.open(QIODevice::ReadOnly))  
  3. {  
  4.     char buffer[2048];  
  5.     qint 64 lineLen=file.readLine(buffer,sizeof(buffer));  
  6.     if(lineLen!=-1)  
  7.     {  
  8.        qDebug<       }  

如果讀取成功,readLine返回實際讀取的字節數,如果讀取失敗則返回-1

QTextStream提供了更為方便的接口來讀寫文本,QTextStream可以操作QIODevice,QByteArray,QString.QTextStream使用流操作符,可以方便地讀寫單詞,行和數字。為了產生文本,QTextStream提供了填充,對齊和數字格式化的格式選項。如

  1. QFile data("test.txt");  
  2. if(data.open(QFile::WriteOnly|QFile::Truncate))  
  3. {  
  4.      QTextStream out(&data);  
  5.      out<    } 

QTextStream的格式化函數

qSetFieldWidth(int width)  設置字段寬度
qSetPadChar(QChar ch)      設置填充字符
qSetRealNumberPrecision(int precision) 設置實數精度

在QTextStream中使用的默認編碼是QTextCodec::codecForLocal()函數返回的編碼,同時能夠自動檢測Unicode。也可以使用QTextStream::setCodec(QTextCodec *codec)函數設置的流編碼。

操作二進制文件

QDataStream類提供了將二進制文件串行化的功能,QDataStream實現了c++基本數據類型的串行化,如char,short,int char* 更復雜的數據類型串行化通過將數據類型分解為基本的數據類型來完成。下面用來寫二進制數據到數據流。

  1. QFile file("binary.dat");  
  2. file.open(QIODevice::WriteOnly);  
  3. QDataStream out(&file);  
  4. out< out<<(qint32)42<<(qint32)96; 

將上面寫入的文件讀入的過程為:

  1. QFile file("binary.dat");  
  2. file.open(QIODevice::ReadOnly);  
  3. QDataStream in(&file);  
  4. QString str;  
  5. qint32 x,y;  
  6. in>>str>>x>>y; 

每一個條目都可以定義的二進制格式寫入文件,Qt中的很多類型,包括QBrush,QColor,QDateTime,QFont,QPixmap,QString,QVariant等都可以寫入數據流。

如果需要讀取原始數據,可以使用readRawData()讀取數據到預先定義好的char *緩沖區,寫原始數據使用writeData(),讀寫原始數據需要對數據進行編碼和解碼。

下面例子演示了使用QDataStream進行讀寫文件的過程。

  1. #include  
  2. #include  
  3. using namespace std;  
  4. int main(int argc,char **argv)  
  5. {  
  6.    QCoreApplication app(argc,argv);  
  7.    QFile file("binary.file");  
  8.    file.open(QIODevice::WriteOnly|QIODevice::Truncate);  
  9.    QDataStream out(&file);  
  10.    out<    out<    out<<(qint32)21;  
  11.    file.close();  
  12.      
  13.    file.setFileName("binary.file");  
  14.    if(!ifle.open(QIODevice::ReadOnly))  
  15.    {  
  16.       cout<<"打開文件錯誤!";  
  17.       return 1;  
  18.    }  
  19.    QDataStream in(&file);  
  20.    QString name;  
  21.    QDate birthday;  
  22.    qint32 age;  
  23.    in>>name>>birthday>>age;  
  24.       qDebug()<       cout<       qPrintable(birthday.toString("yyyy MMMM dd dddd"));  
  25.    file.close();  
  26.    return 0;  

在例子中,QDataStream類寫入了姓名(QString),生日(QDate),和年齡(qint32)三個數據,讀取時使用相同的類型讀出。QDataStream可以讀取任意以QIODevice為基類生成的對象產生的數據。如QTcpSocket,QUdpSocket,QBuffer,QFile,QProcess等類的數據。可以使用QDataStream在QAbstractSocket一端寫入數據,另一端使用QDataStream讀取數據,這樣就免去了繁瑣的高低端字節轉換過程。

臨時文件

實際應用中有時可能需要使用臨時文件Qt中提供QTemporaryFile來提供臨時文件。QTemporayFile可以安全地創建一個***無二的臨時文件。臨時文件通過open()來創建。Qt可以保證臨時文件不會重復。在臨時文件對象銷毀后,將自動刪除該臨時文件。臨時文件通過close()關閉后還可以打開,只要臨時文件對象還沒有銷毀,臨時文件就一直存在并由QTemporaryFile內部保持打開。系統的臨時目錄可以通過QDir::tempPath()來獲取,unix/linux系統上的臨時目錄通常時/temp在windows上通常是TEM/TMP指定

小結:有關Qt文件處理先到這,想要對關Qt文件處理,了解更多的話,請關注 Qt 文件處理詳細講解教程 下篇

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-06-17 13:39:47

Qt 文件

2011-07-01 14:14:34

Qt 事件

2011-06-22 14:30:44

QT 多線程 線程

2011-07-04 10:33:22

QT

2011-07-06 10:32:07

Xcode

2011-07-06 10:46:33

Xcode

2023-03-17 08:11:25

2011-06-17 09:19:03

Qt 4.5.1 Sqlite 移植

2011-04-07 17:39:57

Shapping

2011-04-07 17:27:52

Policing

2011-07-04 17:26:00

Qt SQLite

2011-07-05 18:32:52

QT 信號 機制

2011-06-23 16:24:21

Qt Embedded 交叉編譯

2011-02-23 15:38:27

FileZillaSe

2011-06-17 16:47:12

Qt Eclipse Windows

2009-12-18 16:18:15

Fedora proc

2010-02-23 14:17:20

WCF配置文件

2011-06-27 13:32:21

Qt 數據庫 QSqlQueryM

2011-06-30 10:09:26

QT Graphics View

2011-06-30 15:51:39

點贊
收藏

51CTO技術棧公眾號

国产精品青青在线观看爽香蕉| 亚洲国产成人精品久久久国产成人一区| 444亚洲人体| 91精品一区| 欧美成人伊人久久综合网| 黄页网址大全在线播放| 亚洲国产经典视频| 日韩成人手机在线| 日韩精品91亚洲二区在线观看| 91在线国产电影| 久久香蕉国产| 国产欧美日韩91| 国产一区二区三区日韩精品 | 日韩美脚连裤袜丝袜在线| 亚洲美女黄色片| gogo高清午夜人体在线| 日韩一区二区视频在线观看| 888av在线| 欧美精品乱人伦久久久久久| 伊人免费在线| 日韩视频国产视频| 国产传媒在线观看| 在线激情影院一区| 日韩视频在线直播| 午夜欧美不卡精品aaaaa| 综合激情久久| 国产成人在线一区| 影音先锋日韩精品| 蜜桃传媒视频第一区入口在线看| 欧美大黄免费观看| fc2ppv完全颜出在线播放| 欧美亚洲日本国产| 成人在线视频网站| 久久精品av麻豆的观看方式| 欧洲黄色一区| 国产高清视频网站| 国产这里只有精品| 日韩一级高清毛片| 日韩美女啊v在线免费观看| 激情视频亚洲| 男男做性免费视频网| 美女主播视频一区| 国产成a人亚洲| 欧美激情精品久久久久久黑人| 欧美激情综合在线| 奇米色一区二区| 亚洲成人影院在线观看| 欧美婷婷久久| 久久久一本精品99久久精品| 欧美日韩国产美女| 岛国精品视频在线播放| 成人av免费观看| 91蜜臀精品国产自偷在线| 婷婷成人av| 黄色激情在线视频| 欧美另类在线观看| 一区二区三区高清不卡| 一区在线免费观看| 日韩一级特黄| 亚洲女人天堂在线| 成人免费淫片在线费观看| av在线影视| 美女在线视频一区二区| 国产传媒一区二区| 999国产视频| av成人午夜| 99精品99久久久久久宅男| 国产免费观看久久黄| 精品香蕉在线观看视频一| 国产精品国产三级国产aⅴ9色| 日韩av在线播放资源| 色妞色视频一区二区三区四区| 国产色一区二区| 丁香婷婷成人| 91av资源网| 中文资源在线网| 国产视频在线视频| 丁香婷婷激情网| 亚洲最大免费| 在线播放 亚洲| 97netav| 狠狠躁夜夜躁人人躁婷婷91 | 日韩三级视频| 欧美少妇性生活视频| 色偷偷91综合久久噜噜| 91色视频在线| 偷拍视屏一区| 亚洲 高清 成人 动漫| 日韩mv欧美mv国产网站| 香蕉97视频观看在线观看| 亚洲天堂第二页| 成人午夜av在线| 国产成人tv| 成人深夜在线观看| 黑色丝袜福利片av久久| 在线播放色视频| 久久久久久久有限公司| 亚洲国产第一页| 久久夜色精品一区| 欧洲成人在线视频| 在线观看亚洲一区| 国内精品视频666| 久久久精品国产**网站| 国产二区在线播放| 欧美a级免费视频| 午夜国产精品视频| 色开心亚洲综合| 4444在线观看| 91爱视频在线| 欧美日韩一区二区不卡| 国产一区二区三区四| 国产精品一区二区在线| 一区av在线播放| 欧美一级视频| 秋霞影院一区| 性色av一区| 成人一区二区av| 国产精品美女久久久久av超清| 色综合桃花网| 中文字幕免费中文| 蜜桃91精品入口| 最近2019中文字幕第三页视频| 亚洲综合色丁香婷婷六月图片| 亚洲国产清纯| 精品国产一区二区三| 7777女厕盗摄久久久| 成人免费高清在线观看| 天天做天天爱天天综合网| 另类图片综合电影| 97久久精品视频| 91久久香蕉国产日韩欧美9色| 国产一区二区调教| 99国内精品久久久久久久| 久久大胆人体| 亚洲精品少妇久久久久久| 正在播放91九色| 国产欧美精品一区二区三区-老狼| 亚洲国产精品网站| 亚洲高清视频中文字幕| 国产suv精品一区二区883| 自拍偷拍欧美| 欧美中文高清| 9765激情中文在线| 日本大臀精品| 国产精品一区二区小说| 午夜久久久久久久久久久| 不卡一区二区三区视频| 98精品在线视频| 国产亚洲欧美一区| 欧美日本免费一区二区三区| 1000精品久久久久久久久| 国产成人丝袜美腿| 亚洲一区成人| 国产精品二区不卡| 久久精品福利| 台湾成人免费视频| 福利在线导航136| 噜噜噜在线观看播放视频| 男女啪啪网站视频| 黑人巨大国产9丨视频| 国内一区二区三区在线视频| 国产www精品| 高清在线视频日韩欧美| 在线国产精品视频| 亚洲精品国精品久久99热一| 欧美图区在线视频| 欧美日韩另类在线| 亚洲四区在线观看| 91一区二区在线| 国产91精品入口| 国内精品写真在线观看| 天堂精品中文字幕在线| 欧美日韩亚洲一区在线观看| 成人vr资源| 国产99久久| 香蕉久久精品| 国产毛片久久久| 91精品国产自产在线丝袜啪| 日韩久久99| 亚洲人成网站在线在线观看| 一区一区三区| 24小时免费看片在线观看| 伊人电影在线观看| 精品欧美色视频网站在线观看| 久久经典视频| 国产二区在线播放| 幼a在线观看| 国产在线更新| 久久香蕉综合色| 亚洲xxxxx性| 91亚洲一区精品| 91精品视频一区| 91在线观看免费高清完整版在线观看| 国产精品精品视频一区二区三区| 国产成+人+综合+亚洲欧美丁香花| 97免费视频在线| 国产成人jvid在线播放| 国产精品视频xxx| 成人激情直播| 欧美久久综合性欧美|