将textEdit中的内容逐行写入文件:
利用字符串存取为一行,每隔两个字符添加空格:out << ui->textEdit->toPlainText();
/// 读取数据
QString input_data = ui->textEdit->toPlainText();//获取多行内容
///插入空格
QString output_data = "";
int length = input_data.length();
for (int i = 0; i < length; i += 2)
{
output_data += input_data.mid(i, 2);
if (i%2 == 0)
output_data += " ";
}
ui->textEdit_2->setPlainText(output_data); 写入文件:#include <QtCore/QCoreApplication>
#include <QFile>
#include <QtDebug>
#include <QTextStream>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("test.txt");
//---参数:QFile::Truncate表示的是 将原文件内容清空,
//--以WriteOnly方式打开文件,如果在工程文件下没有该txt文件,那么程序将创建该文件,若存在,则将原文件内容清空,
if (file.open(QFile::WriteOnly | QFile :: Truncate))
{
//---创建 QTextStream流操作对象, 使与QFile对象file绑定。
QTextStream out(&file);
//----设置输出格式为: 居中,这里格式还可以设置为:right/left。 占10个字符;
out << "socre:" << qSetFieldWidth(10) << center << 90 << endl;
}
else
{
qDebug() << "open file failed";
}
file.close(); //---关闭文件~~~~~~
//-----输出提示信息
qDebug() << "\1 writing data succesful \1" << endl;
return a.exec();
} 读取文件: 1,
QString displayString;
QFile file("/home/alvin/text.txt");
if(!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug()<<"Can't open the file!"<<endl;
}
while(!file.atEnd())
{
QByteArray line = file.readLine();
QString str(line);
qDebug()<< str;
displayString.append(str);
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString); 2, QString displayString;
QFile file("/home/alvin/text.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
return;
QTextStream in(&file);
QString line = in.readLine();
while (!line.isNull())
{
//process_line(line);
line = in.readLine();
displayString.append(line);
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString); 3, QString displayString;
QFile file("/home/alvin/text.txt");
if(!file.open(QIODevice::ReadWrite | QIODevice::Text)) {
qDebug()<<"Can't open the file!"<<endl;
}
QTextStream stream(&file);
QString line_in;
stream.seek(file.size());//将当前读取文件指针移动到文件末尾
int count = 0;
while(count < 10)
{
stream << QObject::trUtf8("新建行:") <<++count<<"/n";
}
stream.seek(0);//将当前读取文件指针移动到文件开始
while( !stream.atEnd())
{
line_in = stream.readLine();
displayString.append(line_in);
qDebug() << line_in;
}
ui->textEdit->clear();
ui->textEdit->setPlainText(displayString); 4, #include <QDebug>
#include <QFile>
void ReadLine()
{
QFile file("要读的文件路径");
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
while (!file.atEnd())
{
QByteArray line = file.readLine();
QString str(line);
qDebug() << str;
displayString << str;
}
file.close();
}
}
void WriteLine()
{
QFile file("要写的文件路径");
if (file.open(QIODevice::ReadWrite | QIODevice::Text))
{
QTextStream stream(&file);
stream.seek(file.size());
for (auto& i : displayString)
{
QString qs;
qs.append("Content:");
qs.append(i);
qs.remove("\n");
stream << qs << "\n";
}
file.close();
}
} 
京公网安备 11010502036488号