zoukankan      html  css  js  c++  java
  • fread()

    read(由已打开的文件读取数据)

    包含头文件:#include
    ssize_t read(int fd,void * buf ,size_t count);
    函数说明
     
      read()会把参数fd 所指的文件传送count个字节到buf指针所指的内存中。若参数count为0,则read()不会有作用并返回0。返回值为实际读取到的字节数,如果返回0,表示已到达文件尾或是无可读取的数据,此外文件读写位置会随读取到的字节移动。
     
      附加说明
     
      如果顺利read()会返回实际读到的字节数,最好能将返回值与参数count 作比较,若返回的字节数比要求读取的字节数少,则有可能读到了文件尾、从管道(pipe)或终端机读取,或者是read()被信号中断了读取动作。当有错误发生时则返回-1,错误代码存入errno中,而文件读写位置则无法预期。
     
      错误代码
     
      EINTR 此调用被信号所中断。
     
      EAGAIN 当使用不可阻断I/O 时(O_NONBLOCK),若无数据可读取则返回此值。
     
      EBADF 参数fd 非有效的文件描述词,或该文件已关闭。
     
    fread
     
      功 能: 从一个流中读数据
     
      函数原型: int fread(void *ptr, int size, int nitems, FILE *stream);
     
      参 数:用于接收数据的地址(指针)(ptr)
     
      单个元素的大小(size) :单位是字节而不是位,例如读取一个整数值就是4
     
      元素个数(nitems)
     
      提供数据的文件指针(stream)
     
      返回值:成功读取的元素个数
     实例:#include
     
      #include <stdio.h>
     
      int main(void)
     
      {
     
      FILE *stream;
     
      char msg[] = "this is a test";
     
      char buf[20];
     
      if ((stream = fopen("DUMMY.FIL", "w+"))
     
      == NULL)
     
      {
     
      fprintf(stderr,
     
      "Cannot open output file. ");
     
      return 1;
     
      }
     
      
     
      fwrite(msg, strlen(msg)+1, 1, stream);
     
      
     
      fseek(stream, 0, SEEK_SET);
     
      
     
      fread(buf, strlen(msg)+1, 1,stream);
     
      printf("%s ", buf);
     
      fclose(stream);
     
      return 0;
     
      }
  • 相关阅读:
    [转]Oracle DB 处理数据
    [转]Oracle DB 使用子查询来解决查询
    [转]Oracle DB 使用连接显示多个表中的数据
    自然连接(natural join)
    [转]Oracle 11g 新特性 -- SQL Plan Management 示例
    [转]Oracle 11g 新特性 -- SQL Plan Management 说明
    Oracle DB 组函数
    Oracle NULL相关函数
    UI :使用 UIPickerView 来选择数据
    UI: UISwitch 创建及使用开关 定制开关
  • 原文地址:https://www.cnblogs.com/to-creat/p/5643981.html
Copyright © 2011-2022 走看看