要输入数据,用fopen,但是出错,不知道怎么改,请教各位
FILE *in;
FilePathName=dlg.GetPathName();
in=fopen(FilePathName,"r");
显示error C2664: 'fopen' : cannot convert parameter 1 from 'CString' to 'const char *'
char a[300];
fscanf(in,"%s",a);
CString str=a;
显示error C2440: 'initializing' : cannot convert from 'char [300]' to 'ATL::CStringT<BaseType,StringTraits>'
怎么修改啊,急
FILE *in;
FilePathName=dlg.GetPathName();
in=fopen(FilePathName,"r");
显示error C2664: 'fopen' : cannot convert parameter 1 from 'CString' to 'const char *'
char a[300];
fscanf(in,"%s",a);
CString str=a;
显示error C2440: 'initializing' : cannot convert from 'char [300]' to 'ATL::CStringT<BaseType,StringTraits>'
怎么修改啊,急
CString str(a);
CString::Format
把 FilePathName 转换成 ansi 的就可以用 fopen 了
in = fopen((LPCTSTR)FilePathName, "r");
如果还有问题,就是编码问题,那就需要进行编码转换,不能强制类型转换。
怎么使CString改变为char
刚试了可以的。
str的这个调用CString的format 方法。