在Qt中,你可以使用QFile和QTextStream类来一行一行地读取文件,并将读取的内容保存到一个字符数组(或更常见的QStringList)中。以下是一个简单的示例,展示如何实现这一功能:
#include <QFile>
#include <QTextStream>
#include <QStringList>
QStringList readLinesFromFile(const QString &filePath) {
QStringList lines;
QFile file(filePath);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
// 处理文件无法打开的情况
return lines;
}
QTextStream in(&file);
while (!in.atEnd()) {
QString line = in.readLine();
lines.append(line);
}
file.close();
return lines;
}
在这个函数中,我们首先尝试打开指定的文件。如果文件无法打开,我们返回一个空的QStringList。然后,我们使用QTextStream来逐行读取文件内容,并将每一行添加到QStringList中。最后,我们关闭文件并返回包含所有行的QStringList。
请注意,这个函数返回的是一个QStringList而不是字符数组,因为在Qt中,QStringList是处理字符串列表的更自然和更方便的方式。如果你确实需要一个字符数组,你可以根据需要转换这个QStringList。
另外,这个函数没有处理任何错误情况,除了文件无法打开的情况。在实际应用中,你可能还需要添加更多的错误处理代码,以确保程序的健壮性。

2170

被折叠的 条评论
为什么被折叠?



