程序运行错误 我用mfc编写了一个基于对话框的程序,在vc界面下调试通过,并且可以运行,但是到文件夹下找到的可执行文件运行却又错误,各位大人请指点,谢谢,错误出现在读文件的时候,弹出的assertion提示,fscanf.c里面stream != NULL 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 void ParamStream::ReadOperators(CString fileName,CString *operator1,CString *operator2){ ifstream in(fileName,ios::nocreate); if (in.fail()) { AfxMessageBox(fileName+"is missing!"); return; } char dust[100]; int index1; int index2; CString lineText; in.getline(dust,100); lineText=dust; index1=lineText.Find(':',0); index2=lineText.Find('#',0); *operator1=lineText.Mid(index1+1,index2-index1-1); if (operator2==NULL) { return; } in.getline(dust,100); lineText=dust; index1=lineText.Find(':',0); index2=lineText.Find('#',0); *operator2=lineText.Mid(index1+1,index2-index1-1); in.close();}但是主要问题是我在调试的时候通过了,只是在运行debug文件夹下面的exe时会出错 可能是你读取的文件路径不对,把你要读的文件放到debug文件夹试试. ifstream in(fileName,ios::nocreate); -----------------------------fileName参数检查下,把他换成一绝对路径试下:"....\DEBUG\FILENAME" 试过了,不行啊,filename就是全局变量,保存的绝对路径阿 ifstream in(fileName,ios::nocreate); 这里的FileName修改为字符串格式的绝对路径试验一下。判断是不是由于路径的原因 char dust[100]; memset(dust, 0 ,sizeof(dust) );in.getline(dust,99);不知道行不? 还是不行啊,我用了绝对路径字符串问题依旧,于是把stream都改成了CStdioFile,还是出现这个问题,达人们帮忙啊 怎么样让图片随着直线走 问题!! 如何实现windows新建文件夹的效果 B样条曲线反算控制点问题 关于连接数据库的一个很简单的问题 初学者的问题 问一个问题,大家别笑哈 modifystyle到底怎么用? 内存泄漏 char** temp如何分配空间?如何初始化? if 语句的错误 没分了 路过的人给瞅一眼吧 像迅雷这种界面是基于对话框还是单文档的?
{
ifstream in(fileName,ios::nocreate);
if (in.fail())
{
AfxMessageBox(fileName+"is missing!");
return;
} char dust[100];
int index1;
int index2;
CString lineText; in.getline(dust,100);
lineText=dust;
index1=lineText.Find(':',0);
index2=lineText.Find('#',0);
*operator1=lineText.Mid(index1+1,index2-index1-1);
if (operator2==NULL)
{
return;
}
in.getline(dust,100);
lineText=dust;
index1=lineText.Find(':',0);
index2=lineText.Find('#',0);
*operator2=lineText.Mid(index1+1,index2-index1-1);
in.close();
}
但是主要问题是我在调试的时候通过了,只是在运行debug文件夹下面的exe时会出错
-----------------------------fileName参数检查下,把他换成一绝对路径试下:"....\DEBUG\FILENAME"
这里的FileName修改为字符串格式的绝对路径试验一下。
判断是不是由于路径的原因
memset(dust, 0 ,sizeof(dust) );
in.getline(dust,99);不知道行不?