我已經做了一個c代碼,旨在在根目錄下創建一個文件。umask不能在c代碼中工作
#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;
}
編譯沒有給出錯誤,但是當我執行文件,會出現以下錯誤:
[email protected]:~$ gcc -Wall a2.c -o a2
[email protected]:~$ ./a2
Segmentation fault (core dumped)
我怎麼使用umask
功能錯了嗎?
你怎麼知道段錯誤是由'umask'造成的? – 2014-09-06 13:01:10
使用gdb獲取回溯並將其添加到您的問題 – mpromonet 2014-09-06 13:05:16
@YuHao呃,你的權利......我想這個錯誤基本上不是因爲'umask',但我假設問題最終與'umask'有關,因爲我打算'umask'給予適當的許可fopen和fclose – kwagjj 2014-09-06 13:08:02