実現したいこと
Qt Creatorを使い、テキストファイルから読み込んだ数値秒ループ中に待つという処理をしたいのですが、
toIntを使ってもintが空(無限?)で、ループが一回で止まってしまいます。
読み込んだ数値はQString型の変数です。
#コード
C++
1#include <QCoreApplication> 2#include <QProcess> 3#include <QTextStream> 4#include <QFile> 5#include <QStandardPaths> 6#include <iostream> 7#include <QDateTime> 8#include <QDebug> 9#include <unistd.h> 10 11int main(int argc, char *argv[]) 12{ 13 QCoreApplication a(argc, argv); 14 QProcess process ; 15 QTextStream out(stdout); 16 QString cfpath; 17 QString debugpath; 18 QString conf; 19 QString conf_2; 20 QString conf_3; 21 QString slminstr; 22 QString sltimestr; 23 cfpath = QStandardPaths::writableLocation(QStandardPaths::HomeLocation); 24 debugpath = cfpath + "/config.txt"; 25 QFile file(debugpath); 26 if (!file.open(QIODevice::ReadOnly)) 27 { 28 out << "ERROR:config.txt open failed." << endl; 29 out << "Did you run the setup?" << endl; 30 return 0; 31 } 32 33 34 35 QTextStream in(&file); 36 conf = in.readLine(0); 37 conf_2 = in.readLine(0); 38 conf_3 = in.readLine(0); 39 slminstr = in.readLine(0); 40 out << "BACKUPPATH:" + conf << endl; 41if (conf_2 == "1") { 42 int slmin = slminstr.toInt(); 43 out << "MODE:1" << endl; 44 out << "VALUESTRING:" + slminstr << endl; 45 while(1) { 46 47 out << "Done." << endl; 48 out << "WAITING " + slminstr << endl; 49 sleep(slmin); 50 } 51} 52} 53
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。