tag 标签: creat

相关博文
  • 热度 13
    2012-12-5 16:35
    3457 次阅读|
    0 个评论
    open( const char * pathname, (O_CREAT|O_WRONLY|O_TRUNC),mode_t mode); creat( const char * pathname,mode_t mode);, mode参数可以设置为644,755等, 调用creat创建文件时,文件为可写,但是不可读,即便mode指明文件为755. 如下程序可检验creat:    8 int main(void)   9 {  10     char *file = "tmp_file";  11     char *buf = "hello world";  12     char buf_a ;  13     int fd, len;  14     if((fd = creat(file, 0755)) 0)  15         printf("creat error\n");  16   17     len = write(fd, buf, strlen(buf));  18   19     printf("%d\n", len);  20   21     if(read(fd, buf_a, len) 0)  22         printf("read error\n");  23   24     close(fd);  25   26     if((fd = open(file , O_RDWR)) 0)  27         printf("open error1\n");  28     read(fd, buf_a, len);  29   30     printf("%s %d\n", buf_a, len);  31   32     close(fd);  33     return 0;  34 }   程序执行到第21行,read出现错误。即可证明creat创建文件可写,但不可读,要想读取文件,只能关闭文件,再次调用open打开文件,指定flags(O_RDONLY或者O_RDWR)。即可读,即可读取文件正确。   而调用open创建文件,只要参数设置正确,就可读写文件!!