open syscall を使用してファイルを書き込んで作成します。ファイルには属性がありません。fedora16 gcc-4.6.3
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
int main()
{
char * str= "helloworld";
int fd = open("test.db",O_WRONLY|O_CREAT|O_TRUNC|O_APPEND);
write(fd,str,10);
close(fd);
return 0;
}
ll test.db
----------。1 jiamo jiamo 14 Apr 17 11:34 test.db
次のようなデフォルトのファイル属性でファイルを作成しませんがtouch test.db
umask : 0002
O_TRUNC をドロップすると
int fd = open("test1.db",O_WRONLY|O_CREAT|O_APPEND)
、ファイル属性は次のようになります。
----rwx----. 1 jiamo jiamo 14 Apr 17 12:29 test1.db