LINUX.ORG.RU

Почему не меняется переменная?

 ,


0

1

Здравствуйте, при каждом вызове функции writer ей в аргумент подаётся новый путь, далее по этому пути она читает файл name, но после первой итерации name почему-то не меняется(хотя содержимое name по этому пути другое) Код:

void writer(const QString &str) {
    QFile nameFile(str+"/name");
    if (nameFile.open(QIODevice::ReadOnly)) {
        QTextStream ts(&nameFile);
        static QString nameContent = ts.readLine();
        const std::string &ss = nameContent.toStdString();
        if (ss == "coretemp") {
            const QString &warning = "Found core temp at:"+str;
            qWarning() << warning;
        } else {
            const QString &warning = "Name:"+nameContent+" str:"+str;
            qWarning() << warning;
        }
    }
}

tempCore::tempCore()
{   
    int i = 0;
    do {
        const QString &full_path = "/sys/class/hwmon/hwmon"+QString::number(i);
        writer(full_path);
        i++;
    } while (QDir("/sys/class/hwmon/hwmon"+QString::number(i)).exists());
}


Последнее исправление: xaizek (всего исправлений: 1)

Ответ на: комментарий от bhfq

Чтобы ссылку создать, не знаю зачем, просто. Ничего не изменилось, удалил даже все константы и ссылки. full_path менялся даже константный и в функцию приходил правильный путь

pthon
() автор топика
Ответ на: комментарий от pthon

Ага да, не заметил что оно в цикле уже, можно и const. Ответ уже написали выше.

bhfq ★★★★★
()
Ответ на: комментарий от mashmed135

static QString nameContent = ts.readLine();

Действительно, почему это оно не меняется.

rumgot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.