Qt中将文件类型分为2大类:
1、文本文件:文件的内容是可读的文本字符
2、数据文件:文件内容是直接的二进制数据
QFile类直接支持文本文件和数据文件的读写(通过继承自QIODevice的成员函数)
qint64 |
read ( char * data, qint64 maxSize ) |
||
QByteArray |
read ( qint64 maxSize ) |
||
qint64 |
write ( const char * data, qint64 maxSize ) |
||
qint64 |
write ( const char * data ) |
||
qint64 |
write ( const QByteArray & byteArray ) |
但是有时候需要需要进行类型的转换
#include <QtCore/QCoreApplication>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("C:/Users/hp/Desktop/test.hex");
if( file.open(QIODevice::WriteOnly) ) //未指定QIODevice::Text方式,用二进制的方式打开文件
{
QString hi = "Good Evening";
double value = 3.14;
file.write(hi.toStdString().c_str()); //函数参数类型为const char*类型,因此将dt转为标准字符串(C++中的string),再取C风格字符串指针
file.write(reinterpret_cast<char*>(&value), sizeof(value));