Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173671
  • 博文数量: 66
  • 博客积分: 1736
  • 博客等级: 上尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-05 15:40
文章分类

全部博文(66)

文章存档

2014年(17)

2013年(2)

2012年(47)

我的朋友

分类: LINUX

2012-12-10 10:26:21

  初级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;

  }

 

更多精彩的文章尽在:

 

文章资料由新居网装修效果图   栏目整理推荐。
 
 
 
阅读(5592) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~