当我还喜滋滋的乐道,LINUX下用C语言编程会很方便的时侯,编了几个小程序后,才发现LINUX自有一套自己的I/O函数,数值.而它们并不是ISO C的组成部分。
 
1文件描述符
  文件描述符是一个非负整数。当打开一个现有文件或者创建一个新文件时,内核间进程返回一个文件描述符。当读或写一个文件时,使用open或creat返回的文件描述符标识该文件,将其作为参数传送给read或write
  
2open函数
 #include<fcntl.h>
      int open(const char*pathname.int oflag,...)若成功,则返回文件描述符,否则返回-1
     pathname是要打开或创建的文件的名字
 oflag参数可用来设置此函数的多个选项,用下列一个或多个常量进行'或'运算,构成oflag参数(这些常量定义在<fcntl.h>头文件中)
 O_RDONLY只读方式
 O_WRONLY只读方式
 O_RDWR 读写打开
 
3creat函数
 也可调用creat函数创建一个新文件
 #include<fcontl.h>
    int creat(const char*pathname.mode_t mode);若成功则返回为只写打开的文件描述符,否则返回-1,等效于:
   open(pathname.O_WRONLY|O_CREAT|O_TRUNC,mode)
   creat的一个不足之处的是它以只写方式打开所创建的文件,可用下列方式调用open
   open(pathname,O_RDWR|O_CREAT|O_TRUNC,mode)
 
4close函数
   #include<unstd.h>
    int close(int fiedes);若成功则返回0.否则返回-1
   
5lseek函数
 可以调用lseek显示地为一个打开的文件设置其偏移量
   #include<unistd.h>
    off_t lseek(int fields.off_t offset,int whence)
    调用方式
  off_t currpos;
       currpos=lseek(fd.0,SEEK_CUR);
     
6read函数
  #include<unistd.h>
    ssize_t read(int filedes,void *buf,size_t nbytes)若成功,则返咽读到的字节数,若已到文件结尾则返回0,否则出错则返回-1
   
7write函数
  #include<unistd.h>
    ssize_t write(int filedes,const void *buf,size_t nbytes)若成功,则返回已写的字节数,否则返回-1