高级编程之文件I/O(二)

函 数 接 口


  1.time
  time_t time(time_t *t);
  功能:
   获得1970年到现在所过的秒数
  参数:
   t:要存放秒数空间的指针
  返回值:
   成功返回所过的秒数
   失败返回(time_t *)(-1)

  2.localtime
   struct tm *localtime(const time_t *timep);
   功能:
    将从1970年到现在的秒数转化成日历时间
   参数:
    timep:秒数存放空间的首地址
   返回值:
   struct tm {
    int tm_sec;         /* seconds */
    int tm_min;         /* minutes */
    int tm_hour;   /* hours */
    int tm_mday;   /* day of the month */
    int tm_mon;   /* month */
    int tm_year;   /* year */
    int tm_wday;   /* day of the week */
    int tm_yday;   /* day in the year */
    int tm_isdst;       /* daylight saving time */
   };


文件IO
 1.文件描述符
  很小的非负的整数
  int
  内核每打开一个文件就会获得一个文件
  描述符

 

 2.函数接口
  1.open
  int open(const char *pathname, int flags);
  功能:
   获得一个文件描述符
  参数:
   pathname:文件名
   flags:
    O_RDONLY
    O_WRONLY
    O_RDWR
  返回值:
   成功返回文件描述符
   失败返回-1
  2.write
  ssize_t write(int fd,  const  void *buf, size_t count);
  功能:
   通过文件描述符向文件中写一串数据
  参数:
   fd:文件描述符
   buf:要写入文件的字符串的首地址
   count:要写入字符的个数
  返回值:
   成功返回实际写入的个数
   失败返回-1
 
  3.read
  ssize_t read(int fd, void *buf, size_t count);
  功能:
   通过文件描述符读取文件中的数据
  参数:
   fd:文件描述符
   buf:存放数据空间的首地址
   count:要读到数据的个数
  返回值:
   成功返回读到数据的个数
   失败返回-1
   读到文件结尾返回0
  4.lseek
  off_t lseek(int fd, off_t offset, int whence);
  功能:
   定位光标的位置
  参数:
   fd:文件描述符
   offset:偏移量
      正:向后偏移
      负:向前偏移
      零:不偏移
   whence:
    SEEK_SET
    SEEK_CUR
    SEEK_END
  返回值:
   成功返回偏移量
   失败返回-1

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章