为什么C语言打开文件,打开失败但文件创建成功?


int gets(int* list) {
        int j;
        FILE* fp;
        errno_t ecode;
        if ((ecode = fopen_s(&fp, "paibanbiao.txt", "w")) == NULL)
        {
            printf("cannot open this file\n");
            return;

        }
        else
        {
            fprintf("Solution: %d\n", n, fp);
            fprintf("钱   赵    孙   李   周   吴   陈\n", fp);
            fprintf("=============================================================\n", fp);
            for (j = 1; j <= N; j++)
            {
                switch (list[j])
                {
                case 1: fprintf("星期一 ", fp);
                    break;
                case 2: fprintf("星期二 ", fp);
                    break;
                case 3: fprintf("星期三 ", fp);
                    break;
                case 4: fprintf("星期四 ", fp);
                    break;
                case 5: fprintf("星期五 ", fp);
                    break;
                case 6: fprintf("星期六 ", fp);
                    break;
                case 7: fprintf("星期日 ", fp);
                    break;
                default:
                    break;
                }


            }
            fprintf("\n\n\n", fp);
        }
        fclose(fp);


}

应该你实际是打开成功的,只是你写错了而已
5,6行改成:
errno_t ecode = fopen_s(&fp, "paibanbiao.txt", "w");
if (ecode == NULL)