[英]Qt- using getline function
我正在使用Qt 5.2.1,這是我想在程序中使用的功能的一部分-
while( getline(in,str,':')
{
getline(str,'\n');
int var = atoi(str.c_str());
}
我的問題是如何在qt中實現呢?
我搜索了一下文檔,發現了關於readline和split的信息,但是我不知道如何使用它們
任何幫助深表感謝。 :D
編輯-我的第一條getline在文本文件中檢查“:”,第二條獲取該數字(在“:”之后),並將其轉換為整數並將其存儲在變量中。
2編輯:
這是我的文本文件的外觀...
500-1000:1
1000-1500:2
1500-2000:7
2000-2500:6
1,2,7,6是我程序中需要的值
我不確定您要做什么。 如果您嘗試讀取文件:
QFile file("/path/to/file.whatever");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text) {
// error message here
return;
end
while (!file.atEnd()) {
QString line = in.readLine();
// now, line will be a string of the whole line, if you're trying to read a CSV or something, you can split the string
QStringList list = line.split(",");
// process the line here
}
當超出范圍時, QFile
自行關閉。
如果您嘗試基於此處的:
分隔符拆分字符串,請使用:
QStringList list = line.split(":");
編輯:
既然您已經定義了要執行的操作(讀取類似“ value:integer”的內容),則可以輕松地使用QStringList進行此操作。 例:
QString input = "value:1";
QStringList tokens = input.split(":");
int second = tokens.at(1).toInt();
當然,您需要使用自己的錯誤檢查,但這是我認為您要嘗試執行的操作的一個示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.