FILE *fp = fopen(OpenDialog1->FileName.c_str(),"rb"); XE8文件读取老是提示错误,如何修改

BoRuiYiQi 2015-09-14 06:42:06
FILE *fp = fopen(OpenDialog1->FileName.c_str(),"rb"); XE8文件读取老是提示错误,如何修改
...全文
1011 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
宝龙哥 2015-09-16
  • 打赏
  • 举报
回复
引用 5 楼 xiao_la_mu 的回复:
kfrght 大大的回复改成这样就更完美了!

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if(!OpenDialog1->Execute())
    {
      return;
    }
  FILE * outf; // 定义一个文件指针
  outf=_wfopen(OpenDialog1->FileName.w_str(),L"rb");
 }
完美
xjq2003 2015-09-15
  • 打赏
  • 举报
回复
引用 3 楼 kfrght 的回复:
第一、在XE系列中使用 FILE ,需要引用stdio.h库 #include <stdio.h> // 引用stdio.h库 第二、在XE系列中已经默认使用宽字符,建议使用配套的宽字符函数_wfopen读写文件 #include <stdio.h> // 引用stdio.h库 void __fastcall TForm1::Button1Click(TObject *Sender) { FILE * outf; // 定义一个文件指针 if(OpenDialog1->Execute()) { outf=_wfopen(OpenDialog1->FileName.w_str(),L"rb"); } }
正解
宝龙哥 2015-09-14
  • 打赏
  • 举报
回复
第一、在XE系列中使用 FILE ,需要引用stdio.h库 #include <stdio.h> // 引用stdio.h库 第二、在XE系列中已经默认使用宽字符,建议使用配套的宽字符函数_wfopen读写文件 #include <stdio.h> // 引用stdio.h库 void __fastcall TForm1::Button1Click(TObject *Sender) { FILE * outf; // 定义一个文件指针 if(OpenDialog1->Execute()) { outf=_wfopen(OpenDialog1->FileName.w_str(),L"rb"); } }
勉励前行 2015-09-14
  • 打赏
  • 举报
回复
AnsiString str = OpenDialog1->FileName ; FILE *fp = fopen(str.c_str(),"rb");
缘中人 2015-09-14
  • 打赏
  • 举报
回复
什么错误提示?

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧