gpt4 book ai didi

c++ - 寻找最大数 Qt

转载 作者:行者123 更新时间:2023-11-30 04:04:55 30 4
gpt4 key购买 nike

如何从 Qt 中的文件中查找最大数。任何人都可以向我详细解释一下,因为我是 Qt 的新手。

我已经试过了,但我无法理解。在这里,我从包含 2000 个 int(数字)的文件夹中取出一个文件。我将字符串转换为 int,现在我想在文件中的所有 int 中找到最大的数字:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QString>
#include <QFile>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}

MainWindow::~MainWindow()
{
delete ui;
}
QString ReadAll;
int i;
//int iMax = array[0];

void MainWindow::on_pushButton_pressed()
{

QFile file("/home/path");
if (!file.open(QIODevice::ReadOnly))
{
qDebug()<<"error";
}
QTextStream in(&file);


while(!in.atEnd())
{
qDebug()<<ReadAll;
ReadAll=in.readAll();
qDebug()<<ReadAll;
}
file.close();
qDebug()<<ReadAll;

QStringList List=ReadAll.split(QRegExp("\n"),QString::SkipEmptyParts);
int StrListInt[List.count()];

i=0;

foreach(QString Str, List)
{
qDebug()<<Str;

StrListInt[i]=Str.toInt();
qDebug()<<"spliting"<<QString::number(StrListInt[i]);
}

ui->textEdit->setText(ReadAll);

}

最佳答案

你的代码是错误的,所以我决定完全重写它。

我认为这是正确的方法:

  • read line by line .

  • 将行转换为 Int。

  • 使用 qMax()用于在需要时更新当前最大值。

    QFile file(QStandardPaths::locate(QStandardPaths::HomeLocation));
    if (!file.open(QIODevice::ReadOnly))
    qDebug() << file.errorString();

    QTextStream in(&file);

    QString string;
    int currentMaximum = INT_MIN;

    while (!in.atEnd()) {
    string = in.readLine();
    currentMaximum = qMax(currentMaximum, string.toInt());
    }

免责声明:我个人不会将 Qt 用于如此简单的任务,而只是使用 C++ 中的标准库。

关于c++ - 寻找最大数 Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23577768/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com