QT文件操作
QT文件操作舉例:一個控制臺程序
//#include <QtCore/QCoreApplication> #include <QMap> #include <QColor> #include <QFile> #include <QImage> #include <QtDebug> #include <iostream>using namespace std;/* 操作二進(jìn)制文件 */ bool writeFile1(const char * filename) { /* QImage image("1.bmp");QMap<QString, QColor> map;map.insert("red", Qt::red);map.insert("green", Qt::green);map.insert("blue", Qt::blue);*/QFile file(filename);if(!file.open(QIODevice::WriteOnly)){cerr<<"Cannot open file for writing: " << qPrintable(file.errorString()) << endl;return false;}QDataStream out(&file);out.setVersion(QDataStream::Qt_4_3);//out << quint32(0x12345678) << image << map;out << "What can I do for you?\n";out << " Hello my baby\n";file.close();return true; }bool readFile1(const char *filename) {QImage image;QMap<QString, QColor> map;QFile file(filename);if(!file.open(QIODevice::ReadOnly)){cerr<<"Cannot open file for reading: " << qPrintable(file.errorString()) << endl;return false;}QDataStream in(&file);in.setVersion(QDataStream::Qt_4_3);//in >> n >> image >> map;char *line = new char[1024];while(!in.atEnd()){in >> line; // 會將換行符讀取到line中cout << line;}file.close();delete [] line;//image.save("a.bmp");return true; }/* 操作文本文件 */ bool writeFile2(const char * filename) { /* QImage image("1.bmp");QMap<QString, QColor> map;map.insert("red", Qt::red);map.insert("green", Qt::green);map.insert("blue", Qt::blue);*/QFile file(filename);if(!file.open(QIODevice::WriteOnly)){cerr<<"Cannot open file for writing: " << qPrintable(file.errorString()) << endl;return false;}QTextStream out(&file);//out << quint32(0x12345678) << image << map;out << "What can I do for you?\n";out << " Hello my baby\n";file.close();return true; }bool readFile2(const char *filename) {QFile file(filename);if(!file.open(QIODevice::ReadOnly)){cerr<<"Cannot open file for reading: " << qPrintable(file.errorString()) << endl;return false;}QTextStream in(&file);char line[1024] = {0};while(!in.atEnd()){strcpy(line, in.readLine().toStdString().c_str()); // 不會將換行符讀取過來cout << line << endl;}file.close();return true; }int main() {//QCoreApplication a(argc, argv);char infile[] = "facts.dat"; /* if(writeFile1(infile)){readFile1(infile);}*/if(writeFile2(infile)){readFile2(infile);}return 0;//a.exec(); }
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
- 上一篇: android--------volle
- 下一篇: python Json的一点收获,自定义