1、选择一个保存文件的路径,返回类型是Qstring
QString path=QFileDialog::getSaveFileName(); if(path.isEmpty()){ return; }
2、转码,获取的路径为Qstring,fopen(),文件路径需要char*
std::string str=code->fromUnicode(path).data(); const char *filename=str.c_str();
3、打开文件,fopen(),路径为char*
FILE *fp; errno_t err; if((err=fopen_s(&fp,filename,"wb"))!=0) { cout <<"打开文件失败"; cout <<err; return; } cout <<"打开文件成功";
4、获取编辑区的内容Qstring,将Qstring转为char*
QString str1=ui->textEdit->toPlainText(); str=code->fromUnicode(str1).data(); const char *str2=str.c_str();
6、将编辑区的内容写入文件fputs
fputs(str2,fp);
7、关闭文件
fclose(fp);
8、编辑操作
首先将复制、粘贴、剪切、撤销转到槽函数,这些功能是封装好的,直接调用就好
void MainWindow::on_actionchexiao_triggered() { ui->textEdit->undo(); } void MainWindow::on_actionfuzhi_triggered() { ui->textEdit->copy(); } void MainWindow::on_actionjian_triggered() { ui->textEdit->cut(); } void MainWindow::on_actionzhantie_triggered() { ui->textEdit->paste(); }