1

我制作了 ac 代码,旨在在根目录中创建一个文件。

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>

const char *path="/";
int main(){
    FILE *fp;
    umask(0);
    chdir(path);

    fp=fopen("test.txt","w+");
    fclose(fp);

    return 0;
}

编译没有错误,但是当我执行文件时,出现以下错误:

kwagjj@kwagjj-Inspiron-3420:~$ gcc -Wall a2.c -o a2
kwagjj@kwagjj-Inspiron-3420:~$ ./a2
Segmentation fault (core dumped)

我如何使用umask错误的功能?

4

1 回答 1

2

我的钱在fopen()失败(可能是由于权限不足)和返回NULL,并fclose(NULL) 导致 segfault

于 2014-09-06T13:03:16.167 回答