进程返回-1073741819 fscanf

时间:2019-04-23 05:57:34

标签: c

我正在执行一个函数来计算文件中的单词数,但是一旦到达fscanf,程序就会因上述返回值而崩溃。

我正在编写一个构建二叉树的程序,起初我以为它是由于某些指针错误或某些原因而崩溃的,但是我注释掉了其余的代码,仍然给出了错误;

include stdio.h
include stdlib.h
include string.h
FILE *file;
typedef struct Node{

struct Node* left;
struct Node* right;
struct Node* parent;
char *word;

}Node;

typedef struct{

Node* root;
int maxlen;

}tree;


int getCount()
{
    int count=0;
    file=fopen("hi.txt","r");
    while(!feof(file))
    {

        count++;
        fscanf(file,"%s\n");

    }
    fclose(file);
    return count;
}

int main()
{
    int count=getCount();
    printf("count=%d",count);

    /*tree t;

    buildbase(&t,getMaxmin(count),count);*/



return 0;
}

代码昨天工作了,我对此功能没有做任何更改,它产生了98915

1 个答案:

答案 0 :(得分:3)

您没有分配fscanf读取的字符串的变量,它应该更像是:

int getCount()
{
    int count=0;
    char buffer[1024] = { 0 };
    file=fopen("hi.txt","r");
    while(!feof(file))
    {

        count++;
        fscanf(file,"%s\n", buffer);

    }
    fclose(file);
    return count;
}