- UID
- 423247
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-4-16
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2006-5-20 21:17:56
|
显示全部楼层
谢谢cutechun指教,原来也不是所有的 " " 都要用_T(" ")代替啊,谢谢了!!!
再次谢谢2楼的,按照你的说法,fscanf和fopen都通过了,但我想在CAD里用一个对话框的形式调用打开对话框,然后选中dxf文件,单击确定后,再读取dxf的信息,保存所读信息为txt文件,这时就又有问题了:
FILE* fp;
int code;
char* value;
TCHAR OpenDXFFileName[80];
CString m_strOpenDXF;
struct resbuf* result = acutNewRb(RTSTR);
if (acedGetFileD(_T("打开DXF文件"), NULL, _T("dxf"), 128, result) != RTNORM)
{
acutRelRb(result);
return;
}
StrCpy(OpenDXFFileName, result->resval.rstring); // 问题1处
acutRelRb(result);
m_strOpenDXF = OpenDXFFileName; // 问题2处
UpdateData(FALSE);
UpdateWindow();
fp = fopen(m_strOpenDXF, "r"); // 问题3处
do{
fscanf(fpRead,"%d",&code);
fscanf(fpRead,"%s",value);
}while(strcmp(value,"ENTITIES"));
问题1处的OpenDXFFileName只能是TCHAR型,否则StrCpy不能通过
问题2处m_strOpenDXF为CString才能通过
那么满足了以上两个条件
问题3就通不过了,fopen要求m_strOpenDXF为char*
如果将m_strOpenDXF改为char*,问题3不存在了
问题2就来了,TCHAR型的OpenDXFFileName不能转换为char*型的m_strOpenDXF
如果不要问题2语句,OpenDXFFileName改为char*型,问题3处直接用fp = fopen(OpenDXFFileName, "r");此时问题1处又通不过
这三处的问题我调试了很久,满足其中两处,就满足不了第三处,困惑了我好久
请教大侠,我该怎样处理,才能调试好呢?
万分感谢啊!!!!!! |
|