博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fread和fseek的用法
阅读量:7182 次
发布时间:2019-06-29

本文共 1529 字,大约阅读时间需要 5 分钟。

原味:http://baike.baidu.com/view/656696.htm

     http://baike.baidu.com/view/656689.htm

fread   功 能: 从一个流中读数据   函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );    参 数:   1.用于接收数据的地址(指针)(buffer)   2.单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节   3.元素个数(count)   4.提供数据的文件指针(stream)   返回值:成功读取的元素个数

程序例

#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.\n");
        return 1;
    }
    fwrite(msg,strlen(msg)+1,1,stream);
    fseek(stream,0,SEEK_SET);
    fread(buf,strlen(msg)+1,1,stream);
    printf("%s\n",buf);
    fclose(stream);
    return 0;
}

fseek

目录

功 能

重定位流(数据流/文件)上的文件内部位置指针   注意:不是定位文件指针,文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变指向别的文件。

 用 法

int fseek(FILE *stream, long offset, int fromwhere);

 描 述

函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0,当前位置1,文件尾2)为基 准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值

成功,返回0,否则返回其他值。   

fseek position the file(文件) position(位置) pointer(指针) for the file referenced by stream to the byte location calculated by offset.

int fseek( FILE *stream, long offset, int origin );

  第一个参数stream为文件指针
  第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移
  第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或 SEEK_SET
  SEEK_SET: 文件开头
  SEEK_CUR: 当前位置
  SEEK_END: 文件结尾
  其中SEEK_SET,SEEK_CUR和SEEK_END依次为0,1和2.
  简言之:
  fseek(fp,100L,0);把文件内部指针移动到离文件开头100字节处;
  fseek(fp,100L,1);把文件内部指针移动到离文件当前位置100字节处;
  fseek(fp,-100L,2);把文件内部指针退回到离文件结尾100字节处。

转载地址:http://ihukm.baihongyu.com/

你可能感兴趣的文章
FIFO基础知识(转)
查看>>
js中页面加载完成后执行的几种方式及执行顺序
查看>>
H5 以及data-*应用和each用法
查看>>
web学习-XML基础
查看>>
Oracle SQL Lesson (5) - 使用组函数输出聚合数据
查看>>
centos 6.5安装docker报错(查看报错详细信息--推荐)
查看>>
neutron floatingip-delete
查看>>
【机器学习篇】--SVD从初始到应用
查看>>
VMware - Oracle Linux 7.3 无法返回虚拟磁盘UUID
查看>>
输入法那没有小键盘的图标解决方法
查看>>
JAVA反射机制
查看>>
WCF----Stream对象限制操作
查看>>
多线程
查看>>
什么是Silverlight Silverlight是什么简单介绍
查看>>
Java进阶篇设计模式之二 ----- 工厂模式
查看>>
Shell函数
查看>>
将Excel的数据更新至SqlServer
查看>>
七大产业向民间投资放开
查看>>
Java 异常
查看>>
读《世界是数字的》有感
查看>>