当前位置: 首页 > news >正文

文件对话框---做一个简单的文本编译器(2)

当按下打开按钮时,编写处理函数

voidMyGUI::onBtnOpenClicked()

{

QStringfilepath= QFileDialog::getOpenFileName(this, "打开");

if(filepath.length() > 0)

{

qDebug()<< filepath;

//ui.TextEdit->setPlainText(filepath);

//ui.TextEdit->setText(filepath);

FILE*fp;

char*str;

QByteArrayba = filepath.toLatin1();

str=ba.data(); //Qstring向字符串转化

qDebug()<< "字符串 " << str;

fp =fopen(str, "a+");

if(fp != NULL)

{

qDebug()<< "打开文件成功";

fseek(fp,0, SEEK_END);

intsize = ftell(fp)+1;

qDebug()<< "字节数:"<<size;  //统计字节数 

char*ch = new char[size];

fseek(fp,0, SEEK_SET);

intn=fread(ch, 1, size, fp);  //读取字节 打印在TextEdit上

if(n > 0)

{

qDebug()<< "读取成功";

ui.TextEdit->setPlainText(ch);  

delete[]ch;

}

else

qDebug()<< "读取失败";

}

else

qDebug()<< "打开失败";

}

else

qDebug()<<"open error";

 

}

效果:

存在的问题:


1、打开文件的路径不能包含中文路径!

2、文件中也不能有中文字符!

相关文章:

  • 文件对话框---做一个简单的文本编译器(3)
  • 缓冲文件系统和非缓冲文件系统
  • 利用线程读取文件(带有进度条)
  • 类和对象
  • 什么是内联函数
  • 构造函数
  • 析构函数
  • new和malloc
  • static和const
  • 友元函数
  • 函数模板定义
  • 类模板定义+用类模板写一个入栈出栈的程序
  • 模板的全特化与偏特化
  • cout
  • cin
  • 4个实用的微服务测试策略
  • 5、React组件事件详解
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • php面试题 汇集2
  • ReactNative开发常用的三方模块
  • Webpack 4 学习01(基础配置)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 大数据与云计算学习:数据分析(二)
  • 基于 Babel 的 npm 包最小化设置
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 深度学习在携程攻略社区的应用
  • 十年未变!安全,谁之责?(下)
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 线性表及其算法(java实现)
  • 限制Java线程池运行线程以及等待线程数量的策略
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Nginx实现动静分离
  • 阿里云重庆大学大数据训练营落地分享
  • (06)Hive——正则表达式
  • (42)STM32——LCD显示屏实验笔记
  • (JS基础)String 类型
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (一)Thymeleaf用法——Thymeleaf简介
  • (转)Java socket中关闭IO流后,发生什么事?(以关闭输出流为例) .
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • .NET 分布式技术比较
  • .net 验证控件和javaScript的冲突问题
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • .net6Api后台+uniapp导出Excel
  • .NET建议使用的大小写命名原则
  • .net下的富文本编辑器FCKeditor的配置方法
  • .Net中间语言BeforeFieldInit
  • .pop ----remove 删除
  • @DateTimeFormat 和 @JsonFormat 注解详解
  • @transactional 方法执行完再commit_当@Transactional遇到@CacheEvict,你的代码是不是有bug!...
  • [ 常用工具篇 ] POC-bomber 漏洞检测工具安装及使用详解
  • [Angular] 笔记 6:ngStyle
  • [BJDCTF2020]The mystery of ip1
  • [BZOJ1010] [HNOI2008] 玩具装箱toy (斜率优化)