为什么写入文件要加这一行

写入文件不应该是存在就删掉之前的文件然后新建一个,如果不存在就直接新建一个文件吗?那为什么写入文件也要加入这个if判断?
还有这个exit(0)和exit(EXIT_FALLURE)有什么区别吗?


char  fname[51] = {0};
    printf("请输入文件名: ");
    scanf("%s",fname);
    if ((fp = fopen(fname,"w")) == NULL)
    {
        printf("文件不能打开!\n");
        exit(0);
    }

这是一个安全判断,文件不一定能正常打开,失败的原因有很多,它只是防止程序异常退出的
EXIT_FALLURE=1, 看字面意思就知道是说异常退出的
它们的区别就是exit(0)与exit(1)的区别