我試圖分割一個QString(文件名),我想要獲取部分在filname中的兩個破折號之間。分割QString在 - (短劃線)字符,列表項訪問
Filname例如是「0000000398_05WA-1384864213-218.bmp」。
然而,
QStringList query;
QString filename;
QDirIterator it(qDirPictures, QDirIterator::NoIteratorFlags);
while (it.hasNext()) {
it.next();
filename = it.fileName();
query = filename.split("-");
qDebug()<<query;
}
給我一個正確的輸出:
( 「0000000398_05WA」, 「1384864213」, 「218.bmp」)
但是如果我想訪問第二列表項在同一迭代中:
qDebug()<<query.at(1);
我得到一個
「中的QList ASSERT失敗::在: 「索引超出範圍」 ......
不過,如果我嘗試使用:
qDebug()<<query.at(0);
我得到正確的輸出:
「0000000398_05WA」
什麼錯了?
斷言是否與具有正確輸出的斷言在相同的迭代中發生? – Angew
是的,它的確如此。如果我訪問位置0,它工作正常。 – refuzee