通常文件都是经过文件打开对话框得到的,文件路径是CSTring类型。有些人比较钟爱C语言的File格式,所以但愿使用fopen函数,而该函数的第一个参数(文件路径)是char *类型的,故无法直接使用cstring类型。若是将cstring转成char *貌似也不行,由于cstring中隐藏了一些特殊字符的转义,如‘’,这样在转换后的char *里无法识别文件路径。本人尝试经过在每一个‘’以后再添加一个'',然而因为文件路径中有中文字符,处理起来比较麻烦,没有成功~最后经过如下方法完美解决:ide
使用 _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;.net
File *fp= _tfopen(str,_T("r")));blog
纠结了一天多,总算解决~~get
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/goodbaby728/archive/2010/12/01/6046765.aspx博客