在Qt中,你可以使用QFile和QTextStream类来逐行读取文本文件,并使用QFile和QTextStream将处理后的内容写回文本文件。
以下是一个简单的测试例子:把txt文本中的MAC地址由小写字母改为大写字母
main.cpp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
#include <QCoreApplication> #include <QFile> #include <QTextStream> #include <QDebug> void readAndWriteTxtFile(const QString &inputFilePath, const QString &outputFilePath) { QFile inputFile(inputFilePath); QFile outputFile(outputFilePath); if (!inputFile.open(QIODevice::ReadOnly)) { qDebug() << "无法打开输入文件"; return; } if (!outputFile.open(QIODevice::WriteOnly)) { qDebug() << "无法打开输出文件"; return; } QTextStream in(&inputFile); QTextStream out(&outputFile); while (!in.atEnd()) { QString line = in.readLine(); // 在这里处理行,例如:line = line.toUpper(); line = line.toUpper(); // 然后写入输出文件 out << line << "\n"; } inputFile.close(); outputFile.close(); qDebug() << "成功写入!"; } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString inputFilePath = "input.txt"; QString outputFilePath = "output.txt"; readAndWriteTxtFile(inputFilePath, outputFilePath); return a.exec(); } |
运行结果: