关于fopen的问题

来源:百度知道 编辑:UC知道 时间:2024/06/16 02:49:20
要输入数据,用fopen,但是出错,不知道怎么改,请教各位
FILE *in;
FilePathName=dlg.GetPathName();
in=fopen(FilePathName,"r");
显示error C2664: 'fopen' : cannot convert parameter 1 from 'CString' to 'const char *'
怎么使CString改变为char
FILE *in=fopen(dlg.GetPathName().GetBuffer(0),"r");结果为
cannot convert parameter 1 from 'wchar_t *' to 'const char *'

CFileDialog filedlg(TRUE);//设置为TRUE读文件模式
if(IDOK==filedlg.DoModal())//显示打开文件对话框
CFile file(filedlg.GetFileName(),CFile::modeRead);
//还是MFC简单呀,三句就OK了.附带通用的打开文件对话框!
可在任可地方用.

再转一下:
FILE *in=fopen((char*)dlg.GetPathName().GetBuffer(0),"r");

.mark!

/******************************/
你的FilePathName是什么类型的啊?
如果是CString的话是不可以的!
/*******************************/
看来就是CString的!
那就转换为char的吧!

_tcscpy(chuse,m_struser.GetBuffer(m_struser.GetLength()));

FILE *in=fopen((LPTSTR)(LPCTSTR)FilePathName,"r");