Chinaunix首页 | 论坛 | 博客
  • 博客访问: 63316
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 255
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-18 10:40
文章分类

全部博文(26)

文章存档

2013年(26)

我的朋友

分类: C/C++

2013-09-19 12:02:00

初级I/O编程: open函数和creat函数
  (1).open函数
  名称:打开或若指定打开的文件不存在则创建
  总揽:
  #include
  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
  int creat(const char *pathname,mode_t mode)
  参数:
  参见上面
  实例:
  #include
  #include
  #include
  /*
  用法: 函数名 文件名
  描述:这个函数的作用是打开指定的文件,若文件不存在则创建指定的文
  件,并打开
  */
  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;
  }
  
阅读(3784) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~