24小时热门版块排行榜    

查看: 424  |  回复: 2
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

L_先森

新虫 (初入文坛)

[求助] Debug Assertion Failed 已有1人参与

本人C语言不太好,对其中出现的一些问题不知道该如何解决,请各位大神指点一下,谢谢!!
以下是本人练习写的一段小程序:
#include <stdio.h>
#include <math.h>
#define Filenum 10
#define Nstout 1
#define Pnum 1000

int main()
{
        int a,b,c,d;
        double Px[Filenum][Pnum],Py[Filenum][Pnum],Pz[Filenum][Pnum];
        char filetwo[1000],filethr[1000];
        FILE *outpara;

        b=c=0;
        /*读入信息*/
        for(int i=0;i<Filenum;i++)
        {
                FILE *inpara;
                char fileone[1000],dump[10000];

                a=(i+876000)*Nstout;
                sprintf(fileone,"%s%d%s","part",a,".vtk";
                inpara=fopen(fileone,"rt";
                fscanf(inpara,"%s%s%s%s%lf",dump,dump,dump,dump,dump);
                fscanf(inpara,"%s%s%s%s%d%s",dump,dump,dump,dump,dump,dump);
               for(int n=0;n<Pnum;n++)
                {
                        fscanf(inpara,"%lf%lf%lf",&Px[n],&Py[n],&Pz[n]);
                }
                fclose(inpara);
        }
       
但是在调试到该位置时,总会出现错误提示:
inpara=fopen(fileone,"rt";
fscanf(inpara,"%s%s%s%s%lf",dump,dump,dump,dump,dump);
fscanf(inpara,"%s%s%s%s%d%s",dump,dump,dump,dump,dump,dump);

Debug Assertion Failed

之前我也是用这种方法读入数据,但是没有出现这种提示,是最近才出现该提示。请问这是什么原因,具体的解决办法,以及可以看C语言哪一方面的知识??万分感激!!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

L_先森

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by sxu2009 at 2015-01-21 20:36:01
dump数组中什么都没有,不知道楼主要从dump中读入什么?其它几个数组也是。sprintf函数倒是起了作用,简单修改后的程序如下:


#include <stdio.h>
#include <math.h>
#define Filenum 10
#defi ...

后来自己整明白了,谢谢!
3楼2015-01-22 12:40:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 3 个回答

sxu2009

至尊木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
dump数组中什么都没有,不知道楼主要从dump中读入什么?其它几个数组也是。sprintf函数倒是起了作用,简单修改后的程序如下:
CODE:
#include <stdio.h>
#include <math.h>
#define Filenum 10
#define Nstout 1
#define Pnum 1000

int main()
{
        int a,b,c;
        double Px[Filenum][Pnum],Py[Filenum][Pnum],Pz[Filenum][Pnum];
        //char filetwo[1000],filethr[1000];
        //FILE *outpara;
                  char fileone[1000];
        b=c=0;
        for(int i=0;i<Filenum;i++)
        {
                FILE *inpara;
                char dump[10000];

                a=(i+876000)*Nstout;
                sprintf(fileone,"%s%d%s","part",a,".vtk");
                inpara=fopen(fileone,"rt");
                fscanf(inpara,"%s%s%s%s%lf",dump,dump,dump,dump,dump);
                    fscanf(inpara,"%s%s%s%s%d%s",dump,dump,dump,dump,dump,dump);
               for(int n=0;n<Pnum;n++)
                {
                        fscanf(inpara,"%lf%lf%lf",&Px[n],&Py[n],&Pz[n]);
                }
                fclose(inpara);
        }
        printf("%s",fileone);
      
        return 0;
}

2楼2015-01-21 20:36:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见