初级I/O编程: open函数和creat函数
 
  (1).open函数
 
       名称:打开或若指定打开的文件不存在则创建
 
        总揽:
 
                  #include<fcntl.h>
 
                  int open(const char *pathname,int flags,mode_t mode)
                
                 int open(const char *pathname,int flags)
 
         参数说明:
 
                  pathname:一个字符串参数,用来指定一个打开的文件名,包含完整路径,
 
                                    若不含路径则默认为当前目录。
 
                 flags:一个整数参数,用来指定打开文件的访问方式,可能的值:
 
                                    O_APPEND:以追加方式打开
 
                                    O_RDONLY:以只读方式打开
 
                                    O_WRONLY:以只写方式打开
 
                                    O_RDWR:以读写方式打开
 
                                    O_CREAT:若指定的文件不存在则创建指定的文件
 
                 mode:一个整数参数,用来指定创建文件的权限,可以为数字,或宏
 
                  S_IRWXU:指定创建文件的用户的权限为可读,可写,可执行,等价00700
 
                  S_IRUSR:指定创建文件的用户的权限为可读,等价00400
 
                  S_IWUSR:指定创建文件的用户的权限为可写,等价00200
 
                  S_IXUSR:指定创建文件的用户的权限为可执行,等价00100
 
                  S_IRWXG:指定群组的权限为可读,可写,可执行,等价00070
 
                  S_IRGRP:指定群组的权限为可读,等价00040
 
                  S_IWGRP:指定群组的权限为可写,等价00020
 
                  S_IXGRP:指定群组的权限为可执行,等价00010
 
                  S_IRWXO:指定其他用户的权限为可读,可写,可执行,等价00007
 
                  S_IROTH:指定其他用户的权限为只读,等价00004
 
                  S_IWOTH:指定其他用户的权限为只写,等价00002
 
                  S_IXOTH:指定其他用户的权限为只执行,等价00001
 
     返回值:
 
                 执行成功返回一个文件描述符(一个小的,非负的整数)
 
                 执行失败则返回-1
 
      说明:若指定flags为O_CREAT则必须指定mode参数
 
(2).creat函数
 
       名称:创建一个文件,返回一个文件描述符
 
        总揽:
 
                  #include<fcntl.h>
                 int creat(const char *pathname,mode_t mode)
 
        参数:
 
                  参见上面
 
实例:
 
         #include<fcntl.h>
         #include<stdio.h>
         #include<stdlib.h>
          /*
                用法:  函数名  文件名
 
                描述:这个函数的作用是打开指定的文件,若文件不存在则创建指定的文
 
                              件,并打开
 
              */
 
          int main(int argc,char *argv[])
          {
                   int fd;
                   if(argc<2)
                   {
                           printf("Usage:%s Filename\n",argv[0]);
                           exit(1);
                    }
                    if((fd=open(argv[1],O_RDWR|O_CREAT,00777))<0)
                   {
                           printf("Faile to open file\n");
                           exit(2);
                      }
                     else{
                            printf("Success to open file\n");
                            printf("File Description is %d\n",fd);
                            }
                      return 0;
            }