用VS2005编译了一个C++的DLL,有点问题,请各位大哥帮帮我,谢谢。。。。。。。。。。。。。。。。。。。。。。。。。

jicey jicey 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我用VS2005编译了一个C++的DLL,类型是“带静态链接MFC的规则DLL”,现在想看看外部传进来的字符串参数是否正确,该用什么语句呢?
DLL中的导出函数:
extern "C" __declspec( dllexport ) void Dcm2Bmp(char *pFileName)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());

AfxMessageBox(pFileName);

CDcmBmp m_DcmBmp;
strcpy(m_DcmBmp.m_strFileName, buf);
m_DcmBmp.ConvertDicomToBMP();
}
如上所示,我试着用AfxMessageBox(pFileName);查看传进来的字符串是否正确,但项目调用时,根本弹不出显示pFileName所指字符串的对话框,编译可以通过,但运行时出一个错误提示,还没看清,程序就自动终止了,就啥也没有了,怎么回事呢?但在另一个地方有段代码:
fp = fopen(pszFileName, "rb");
if (!fp)
{
AfxMessageBox(_T("Failed to open file for read."));
return;
}
这段代码就可以输出字符串"Failed to open file for read.",也正是因为老是打不开文件,所以我想看看传进来的路径字符串到底是什么(因为我怀疑传进来的字符串不对),因为若把上面的程序改成:
fp = fopen(“"\\My Documents\\ct1.dcm"”, "rb");
if (!fp)
{
AfxMessageBox(_T("Failed to open file for read."));
return;
}
就可以打开文件,一切都顺利,但就是从外部传进来相同的路径字符串,就是打不开,老跳出对话框“Failed to open file for read.”,所以我想看看传进来的路径字符串到底变成了什么,用开头我说的那个AfxMessageBox(pFileName);不行?那我要怎么办呢?望大家不吝赐教,谢谢啦!!!!!
...全文
评论 22
收藏 已收藏
分享
返回顶部
jicey
进程/线程/DLL 15,466 成员 49,169 内容