QT读取文件到数组

QT读取文件到数组,第1张

用Qt的话还是用QFile读取文件吧,功能比较强大,配套的QString或者IO

Stream的功能同样强大,处理起来会很方便

问题是你描述的太简单了,就是去Qt assistant看看QFile怎么用就可以了

1、HeatUser类

class HeatUser

{

public:

    HeatUser(){

    }

    HeatUser(QString name, float flow, float distance, short time){

        strcpy(Name, nametoLocal8Bit()data());

        Flow = flow;

        Distance = distance;

        Time = time;

    }

    ~HeatUser(){

    }

    QString getName(){

        return Name;

    }

    QString getFlow(){

        return QString("%1")arg(Flow);

    }

    QString getDistance(){

        return QString("%1")arg(Distance);

    }

    QString getTime(){

        return QString("%1")arg(Time);

    }

private:

    char Name[30];

    float Flow;

    float Distance;

    short Time;

};

2、对象初始化

    QFile file("aatxt");

    if(fileopen(QIODevice::ReadOnly))

    {

        QTextStream stream(&file);

        while(!streamatEnd())

        {

            QStringList list = streamreadLine()split(QRegExp("\\s+"));

            HeatUser hUser(listat(0), static_cast<QString>(listat(1))toFloat(),

                           static_cast<QString>(listat(2))toFloat(),

                           static_cast<QString>(listat(3))toShort());

            vecpush_back(hUser);

        }

    }

3、文件内容

aa  1260   226    99

bb   1650   236    100

4、写入Qtablewidget

    ui->tableWidget->setRowCount(2);     //设置行数为2

    ui->tableWidget->setColumnCount(4);   //设置列数为4

    QStringList header;

    header << "Name" << "Flow" << "Distance" << "Time";

    ui->tableWidget->setHorizontalHeaderLabels(header);

    for(int i = 0; i < veccount(); i++)

    {

        ui->tableWidget->setItem(i,0,new QTableWidgetItem(vec[i]getName()));

        ui->tableWidget->setItem(i,1,new QTableWidgetItem(vec[i]getFlow()));

        ui->tableWidget->setItem(i,2,new QTableWidgetItem(vec[i]getDistance()));

        ui->tableWidget->setItem(i,3,new QTableWidgetItem(vec[i]getTime()));

    }

文件夹中,文件名为1、jpg,2、jpg,3、jpg……。在电脑中,是按1-100排序的,但用FileInfo读取的时候,往往会出现以下的情况,读取的列表实际是按1、jpg,10、jpg,11、jpg……,19、jpg,2、jpg,20、jpg。

以上就是关于QT读取文件到数组全部的内容,包括:QT读取文件到数组、QT 读取文件写入Qtablewidget中、qfileinfolist文件大小排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9478119.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存