C - 使用自定义文件名创建新文件

C - creating new file with custom filename

我想用自定义文件名创建新文件。我创建了这个函数来完成这个任务:

int addfile(char* name)//return 0 if cannot create file
{
    FILE* fn = fopen(name, "r");
    if(fn == NULL)
    {
        return 0;
    }
    fclose(fn);
    addtotab(name, 0);
    return 1;
}

不幸的是,fn 变量总是 NULLptr,所以它早 return0。这样做有什么比使用 fopen 更好的主意吗?

你应该改变

FILE* fn = fopen(name, "r");

FILE* fn = fopen(name, "w");

根据 https://man7.org/linux/man-pages/man3/fopen.3.html 处的文档。