2

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

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,所以它的早期返回 0。有什么比使用 fopen 更好的主意吗?

4

1 回答 1

3

你应该改变

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

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

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

于 2021-05-31T19:33:06.900 回答