这个能行吗?
QString bozo;
QFile filevar("sometextfile.txt");
QTextStream in(&filevar);
while(!in.atEnd()) {
QString line = in.readLine();
bozo = bozo + line;
}
filevar.close();
“bozo”是否将成为“sometextfile.txt”的全部内容?
这个能行吗?
QString bozo;
QFile filevar("sometextfile.txt");
QTextStream in(&filevar);
while(!in.atEnd()) {
QString line = in.readLine();
bozo = bozo + line;
}
filevar.close();
为什么要逐行读取?你可以进行一些优化,减少向字符串添加行时不必要的重新分配:
QFile file(fileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) return;
QTextStream in(&file);
QString text;
text = in.readAll();
file.close();
file.open(...);
打开文件。除此之外,是的,bozo
将包含您拥有的代码中整个文件。text.reserve(file.size());
是不必要的,因为在接下来的行中:text = in.readAll();
text
为一个新字符串,因此调用text.reserve(file.size());
就可以省略不必要的工作。