Lit*_*nts 3 search qstring qt text
我正在尝试在文本文件中搜索字符串; 我的目的是只有在我的文本文件中没有写入它时才写它.
这是我的函数(我不知道如何放入while循环):
QFile MyFile("text.txt");
MyFile.open(QIODevice::ReadWrite);
QTextStream in (&MyFile);
while(!MyFile.atEnd())
{ //do something to search string inside }
MyFile.close();
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?从Qt的帮助,方法"包含"仅适用于const变量; 我可以用它来寻找我的字符串吗?
您可以执行以下操作:
[..]
QString searchString("the string I am looking for");
[..]
QTextStream in (&MyFile);
QString line;
do {
line = in.readLine();
if (!line.contains(searchString, Qt::CaseSensitive)) {
// do something
}
} while (!line.isNull());
Run Code Online (Sandbox Code Playgroud)
文件不大的情况下
QFile MyFile("text.txt");
MyFile.open(QIODevice::ReadWrite);
QTextStream in (&MyFile);
const QString content = in.readAll();
if( !content.contains( "String" ) {
//do something
}
MyFile.close();
Run Code Online (Sandbox Code Playgroud)
如果文件较大,请不要重复其他答案,请按照 vahancho 的建议进行