VS2010 C++ fscanf出现错误,提示debug assertion failed

以下是程序 FILE *fp_11,*fp_12; fp_11 = fopen("FREQUENCY L1 Halo.DAT", "r+"); fp_12 = fopen("COEFFICIENTS L1 Halo.DAT", "r+");//!============================================================================ for(PP=0;PP<=NN1;PP=+2) { for(II=0;II<=NN2;II++) { JJ=II; for(KK=0;KK<=NN3;KK=+2) { for(MM=0;MM<=NN3;MM=+2) { if(II+JJ<=NN2&&KK+MM<=NN3) { fscanf(fp_11, "%10d %10d %10d %10d %10d", &P1,&I1,&J1,&K1,&M1); fscanf(fp_11, "%35.15f %35.15f %35.15f", &L1Halo_WN[P1][I1][J1][K1][M1],&L1Halo_LN[P1][I1][J1][K1][M1],&L1Halo_DN[P1][I1][J1][K1][M1]); } } } } }错误界面如图谢谢大家了

说明你文件流打开失败,你首先要看看你文件打开是否成功
从你代码看,你要确保FREQUAENCY L1 Halo.DAT必须在“当前目录”下,我怀疑你文件位置不在你认为应该在的目录中追问

我在data文件夹和cpp文件夹中都放了DAT文件,资源文件中也添加了,而且之前也在sln所在的文件夹中放了,但是还是不行???为何会打开失败呢????

追答

“当前目录”是一个可以随时改变的目录,你不能依赖于当前目录来编程。最好提供全路径打开文件

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜