我想为c ++中的qstring创建一个grep函数(如bash中的grep)。所以我需要一个循环,可以逐行读取QString。什么是最好的方法?您是否必须逐个字母地检查QString并测试是否出现\ n或是否有更简单/更快/更短的方法?
QString Text = "Line1\nLine2\n";
Loop {
std::cout << Line.toStdString() << std::endl;
}
这应该是输出:
Line1
Line2
答案 0 :(得分:0)
@thuga和@drescherjm的想法
QString TXT="l1\nl2\nl3\nl4", Line;
QTextStream stream(&TXT);
while (stream.readLineInto(&Line)) {
std::cout <<Line.toStdString() << std::endl;
}
//Set the device to pos 0
stream.seek(0);
输出:
l1
l2
l3
l4
QString TXT="l1\nl2\nl3\nl4";
QStringList Lines = TXT.split('\n');
for (int i = 0; i < Lines.size(); i++) {
std::cout <<Lines[i].toStdString() << std::endl;
}
输出:
l1
l2
l3
l4