1.寫二進(jìn)制文件
#include <QtCore/QCoreApplication> #include <QFile>
#include <QDataStream>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("file.dat");
if(!file.open(QIODevice::WriteOnly))
{
std::cerr<<qPrintable(file.errorString())<<std::endl;
return -1;
}
QDataStream stream(&file);
stream.setVersion(9);
QString id("ID:");
quint32 num(quint32(0x123456));
stream << id<< num;
file.close();
return a.exec();
}
2.類似讀文件則是:
#include <QtCore/QCoreApplication> #include <QFile>
#include <QDataStream>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("file.dat");
if(!file.open(QIODevice::ReadOnly))
{
std::cerr<<qPrintable(file.errorString())<<std::endl;
return -1;
}
QDataStream stream(&file);
stream.setVersion(9);
QString id;
quint32 num;
stream >> id >> num;
std::cout<<id.toStdString()<<" "<<num<<std::endl;
file.close();
return a.exec();
}
感覺比較好的是直接可以讀寫字符串而不需要關(guān)心字符串長度 這個比較好
3.寫文本文件
#include <QtCore/QCoreApplication> #include <QFile>
#include <QTextStream>
#include <iostream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("output.txt");
if(!file.open(QIODevice::WriteOnly))
{
std::cerr<<qPrintable(file.errorString())<<std::endl;
return -1;
}
QTextStream stream(&file);
QString id("Eric Home.");
quint32 num(123456);
stream << id << num;
file.close();
return a.exec();
}
4.讀文本文件
則可以通過設(shè)置編碼方式 之后一次性讀入或者以一個字符的模式讀入