fseek(),fread(),fwrie(),memset()

    技术2025-07-22  10

    函数名:fseek函数

    头文件:#include<stdio.h>

    功能:把与fp有关的文件位置指针放到一个指定位置。

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

    范例一:fseek(fp, 0L, SEEK_END);

    解释:文件指针定位到文件末尾,偏移0个字节

    范例二:  fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);

    解释:其作用是将位置指针移到离文件头50个字节处。

    起始点对应的数字代表的文件位置SEEK_SET0文件开头SEEK_CUR1文件当前位置SEEK_END2文件末尾

    说明:

           offset:偏移量        fromwhere:起始位置

          其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。

          如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;

          如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。

         “起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:

    注意:  

          fseek函数的文件指针,应该为已经打开的文件。如果没有打开的文件,那么将会出现错误。

     

    fread()定义于头文件<stdio.h>

    1

    2

    3

    4

    5

    size_t fread( void *buffer, size_t size, size_t count, FILE *stream );//C99前

     

     

     

    size_t fread( void *restrict buffer, size_t size, size_t count, FILE *restrict stream );//C99起

    从给定输入流stream读取最多count个对象到数组buffer中(相当于以对每个对象调用size次fgetc),把buffer当作unsigned char数组并顺序保存结果。流的文件位置指示器前进读取的字节数。

    若出现错误,则流的文件位置指示器的位置不确定。若没有完整地读入最后一个元素,则其值不确定。

    参数

    buffer指向要读取的数组中首个对象的指针size每个对象的大小(单位是字节)count要读取的对象个数stream输入流

    返回值

    返回成功读取的对象个数,若出现错误或到达文件末尾,则可能小于count。

    若size或count为零,则fread返回零且不进行其他动作。

    fread不区分文件尾和错误,因此调用者必须用feof和ferror才能判断发生了什么。

     

    函数原型

    size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)

    参数

    ptr-- 这是指向要被写入的元素数组的指针。

    size-- 这是要被写入的每个元素的大小,以字节为单位。

    nmemb-- 这是元素的个数,每个元素的大小为 size 字节。

    stream-- 这是指向 FILE 对象的指针,该 FILE 对象指定了一个输出流。

    功能

    把ptr所指向的数组中的数据写入到给定流stream中。

    void *memset(void *s, int ch, size_t n);

    函数解释:将s中当前位置后面的n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。

    memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 [1]  。

    memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.

    https://www.cnblogs.com/xingyunblog/p/3675568.html

    https://baike.baidu.com/item/fread/10942353?fr=aladdin

    Processed: 0.014, SQL: 10