阅读文件时的SIGSEGV

时间:2015-10-02 06:08:05

标签: c file sigsegv

我尝试读取文件以提取数字,然后将其进行比较以找到最常用的数字。

每次我跑这个,我都会在debbuger中得到这个消息(显然程序没有运行)。

Program received signal SIGSEGV, Segmentation fault.
In ?? () ()

我无法在我的代码中找到问题,我删除了我的文件并运行了程序,但是当我将" test"提起这件事只是崩溃...

#include <stdio.h>
#include <stdlib.h>

int main(){
    FILE *fp;
    int especie = 0;
    int es = 0;
    int noes = 0;
    int i = 0;

    fp = fopen("especies.txt", "r");

    if (fp == NULL){
        printf("\nError de apertura del archivo. \n\n");
    }
    else{
        for (i; i <= 10000000000; i++){
            while (feof(fp) == 0){
                fscanf(fp, "%d", &especie);

                if(i == especie){
                    es++;
                }
                else{
                    noes++;
                }
            }

            if (es >= ((es+noes)/2)){
                break;
            }
            else{
                rewind(fp);
                es = 0;
                noes = 0;
            }

        }

        printf("%d", i);
        fclose(fp);
    }

    return 0;
}

0 个答案:

没有答案