c++这段mfc代码为什么放其它电脑一执行就自动退出了
我是静态编译的,应该是代码上的问题voidCMFCApplication1Dlg::OnBnClickedButton13(){TCHARszFilter[]=_T("文...
我是静态编译的,应该是代码上的问题void CMFCApplication1Dlg::OnBnClickedButton13(){ TCHAR szFilter[] = _T("文本(*.txt)|*.txt|所有文件(*.*)|*.*||"); CFileDialog fileDlg(TRUE, _T("txt"), NULL, 0, szFilter, this); if (IDOK == fileDlg.DoModal()) { CString strFilePath; strFilePath = fileDlg.GetPathName(); FILE *fp; fopen_s(&fp, "C:\\123.txt", "w"); fprintf_s(fp, "%S", strFilePath); fclose(fp); }}
展开
展开全部
1.代码在你的电脑上能运行就说明代码本身是没问题的。
2.你没有说明在别的电脑上出错指的是,别的电脑上用开发环境运行代码,还是直接运行编译好的程序。
3.如果是程序,那跟操作系统有关,vc本来就没法保证一处编译到处执行,需要跟32,64位等匹配。
2.你没有说明在别的电脑上出错指的是,别的电脑上用开发环境运行代码,还是直接运行编译好的程序。
3.如果是程序,那跟操作系统有关,vc本来就没法保证一处编译到处执行,需要跟32,64位等匹配。
追问
两台电脑都是64位的,我是按32位编译出来的。如果把里面的fopen相关代码注释掉,程序运行后就不会自动退出。建议你放你电脑上运行一下。我敢肯定是代码的问题
追答
光看代码很难判断,可能有错的地方如下,可按照顺序测试:
1、出错的机器上,c:\123.txt确认是否存在,如存在则下一步
2、出错的机器上,c盘是否有限制导致无法读取和写入,放到d盘上试试
展开全部
代码中写c:\盘文件,一般的电脑是不允许的。要用管理账号和权限执行吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可能其他电脑的开发环境没搭建好吧。
追问
我是静态编译的啊,我编译的这个程序本来就能在那台电脑正常运行,只是加了fopen相关代码,然后执行这段代码后才退出的。是能正常打开的,就是这段代码不能正常执行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询