CString文件路径 使用fopen打开
2016-06-23 12:22
465 查看
一般文件都是通过文件打开对话框获得的,文件路径是CSTring类型。有些人比较钟爱C语言的File格式,因此希望使用fopen函数,而该函数的第一个参数(文件路径)是char *类型的,故没法直接使用cstring类型。如果将cstring转成char *貌似也不行,因为cstring中隐藏了一些特殊字符的转义,如‘/’,这样在转换后的char *里没法识别文件路径。本人尝试通过在每个‘/’之后再添加一个'/',然而由于文件路径中有中文字符,处理起来比较麻烦,没有成功~最后通过以下方法完美解决:
使用 _tfopen函数
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("All Files (*.*)|*.*||"),NULL);
CString str;
if(dlg.DoModal() == IDOK)
str=dlg.GetPathName();
else
return;
File *fp= _tfopen(str,_T("r"));
使用 _tfopen函数
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("All Files (*.*)|*.*||"),NULL);
CString str;
if(dlg.DoModal() == IDOK)
str=dlg.GetPathName();
else
return;
File *fp= _tfopen(str,_T("r"));
相关文章推荐
- android------ Camera组件的整体架构设计简介
- MySQL备份的shell脚本
- linux下I2C的读写
- 解析properties文件的简单方法
- Nginx配置文件说明
- Deep Copy cv::StereoBM 深度拷贝
- 如何修改linux 的SSH的默认端口号?
- Linux cp命令自动确认
- 详解Linux系统中的文件权限设置
- linux 的crontab任务中py脚本不执行的解决办法
- OpenCV人脸识别LBPH算法源码分析
- CentOS7下使用yum安装mysql
- centos6 yum安装最新版mysql5.7
- centos下安装pillow报ImportError: The _imagingft C module is not installed的解决方案
- Linux --- 清理内存和Cache的方法
- 高可用集群之heartbeat安装配置
- 每天一个Linux命令(07)--mv命令
- linux 修改时间并永久生效
- optimizer hints
- 【转载】我所理解的BeanUtils.copyProperties() 用法