首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏韩曙亮的移动开发专栏

    【C 语言】文件操作 ( fseek 函数 )

    文章目录 一、fseek 函数 二、fseek 函数代码示例 一、fseek 函数 ---- FILE 文件结构中 , 存在一个指针 , 每次调用文件的读写函数 , 该指针就会移动 ; 如 fgets fputs , getc / putc , fscanf / fprintf , fread / fwrite 等函数 ; 默认情况下 , 指针是从前向后移动的 ; 该文件内部的指针指向的位置可以通过 fseek 函数进行改变 ; fseek 函数原型如下 : 重新设置文件内部指针的位置 ; #include <stdio.h> int fseek(FILE *stream, long offset, int 1 文件尾 SEEK_END 2 long offset 偏移量参数 , 可以为正数 , 也可以为负数 ; 如果执行成功 , 则返回 0 , 失败返回非 0 , 并设置 error 错误代码 ; 二、fseek 函数代码示例 ---- fseek 函数代码示例 : 先写出 10 字节数据 , 然后正常读取前 2 字节 , 最后跳过 4 字节 再读取 2 字节 ; #include <stdio.h> int

    2.8K10编辑于 2023-03-29
  • 来自专栏jiajia_deng

    fseek、ftell 获取文件大小

    fseek可以移动FILE结构体中指向文件位置的指针指向,其第三个参数可以让我们非常灵活的将指针移动要任意自己需要的位置。 而ftell则可以获取当前指针位置,返回一个long大小的数值,我们可以使用fseek将指向文件的指针移动到文件末尾,然后使用ftell取当前指针的位置,就可以得到一个文件的大小。 argc, char* argv[]) { FILE* pFile = fopen(“File.sln”, “r”); if (NULL == pFile) return -1; // 移动指针到文件末尾 fseek

    93530编辑于 2023-10-20
  • 来自专栏韩曙亮的移动开发专栏

    【C 语言】文件操作 ( fseek 使用注意事项 | fseek 函数返回值分析 )

    文章目录 一、fseek 函数返回值分析 二、fseek 函数返回值分析代码示例 一、fseek 函数返回值分析 ---- fseek 函数原型如下 : 重新设置文件内部指针的位置 ; #include <stdio.h> int fseek(FILE *stream, long offset, int fromwhere); 设置的指针的位置是 起始位置 + 偏移量 ; 其中的 int fromwhere , 如果没有超过则指针偏移成功 , 如果超过了文件范围 , 则没有任何意义 ; fseek 函数返回值为 0 , 并不代表操作完全正确 ; 二、fseek 函数返回值分析代码示例 ---- 代码示例 : 验证将文件指针指向超出文件末尾的位置 , fseek() 函数的返回值仍然是 0 ; #include <stdio.h> int main() { // 以写文本的方式向文件中写出数据 (p2, 400, SEEK_SET); // 打印 fseek 返回结果 printf("fseek res = %d\n", res); return 0; } 执行结果

    2.1K20编辑于 2023-03-29
  • 来自专栏流媒体

    C语言文件操作 stat,fseek,copy

    2.png ​ fseek() 定义 int fseek(FILE *stream, long int offset, int whence) stream -- 这是指向 FILE 对象的指针,该 CFile\\1.txt"; int main() { FILE *file = fopen(path, "r"); char buf[30] = {0}; //测试 1 fseek (file, 2, SEEK_SET); //测试 2 // fread(buf, sizeof(char), 3, file); // fseek(file, -2, SEEK_CUR ); //测试 3 // fseek(file, -2, SEEK_END); while (!

    1.5K20发布于 2018-08-23
  • 来自专栏Linux驱动

    C-fopen,fwrite,fread,fseek笔记

    /*创建一个包含10个字节的文件*/ fwrite(buf,strlen(buf),1,fp);/*将buf内容写入到文件中*/ fclose(fp);/*关闭文件*/return 0; } int fseek readbuf,sizeof(int),1,fp); printf("read len=%d data=%d\n",len,readbuf); fseek

    2.9K20发布于 2018-08-10
  • 来自专栏全栈程序员必看

    fseek函数用法_fwrite函数的用法

    转载请注明出处:https://blog.csdn.net/wl_soft50/article/details/7787521 每天进步一点点–>函数fseek() 用法 在阅读代码时,遇到了很早之前用过的 fseek(),很久没有用了,有点陌生,写出来以便下次查阅。 函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h fseek 函数名: fseek 功 能: 重定位流上的文件指针 用 法: int fseek(FILE *stream, long length; } Jetbrains全家桶1年46,售后保障稳定 int fseek( FILE *stream, long offset, int origin ); 第一个参数 简言之: fseek(fp,100L,0);把fp指针移动到离文件开头100字节处; fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处; fseek(fp,100L,2

    1.4K20编辑于 2022-11-01
  • 来自专栏bit哲学院

    获取文件的大小(fseek和ftell函数)

            //如果打开失败则返回fopen的错误内容         perror("fopen error");         //结束函数         return -1;     }     //fseek 函数 fp指针到文件末尾,向前偏移0个字节     fseek(fp, 0, SEEK_END);     //ftell返回文件的大小     int ret = ftell(fp);     //打印文件的大小

    1.5K00发布于 2021-02-13
  • 来自专栏P_M_P学习笔记

    【C语言】文件及文件操作详解(fseek,ftell,rwind)

    一次写一行数据) 所有输出流 fscanf 格式化输入函数 所有输出流 fprintf 格式化输出函数 所有输出流 fread 二进制输入 文件流 fwrite 二进制输出 文件流 6.文件的随机读写 6.1 fseek int fseek ( FILE * stream, long int offset, int origin ); //origin有三种 //SEEK_SET----Beginning of file //SEEK_CUR----Current position of the file pointer //SEEK_END----End of file * /* fseek example */ FILE * pFile; pFile = fopen ( "example.txt" , "wb" ); fputs ( "This is an apple." , pFile ); fseek pFile = fopen ("myfile.txt","rb"); if (pFile==NULL) perror ("Error opening file"); else { fseek

    62310编辑于 2024-03-04
  • 来自专栏C/C++

    【C语言】fseek、ftell以及rewind函数(随机文件读写)

    1. fseek fseek函数的作用:重新定位光标的位置。 一般来说,我们打开一个文本文件,文件的光标位置都会处在文件内容最开始的位置,也就是如下的样子: 那我们运用fseek函数,就能够按照我们的意愿随意改变光标出现的位置,然后在开始读取文件的内容。 1.1 fseek函数原型 如果fseek函数执行成功,则返回0 。否则返回一个非0值。 1.2 fseek函数的形式参数 这里我要重点讲解一下fseek函数的形式参数。 宏 作用 SEEK_SET 将光标重置到文件开头的位置 (比较常用) SEEK_CUR 将光标重置到当前文件内容的最末尾位置 (比较常用) SEEK_END 将光标重置到文件结束标志的后面 1.3 fseek 实例演示 //fseek函数的实例演示 //现在我有一个文件test4.txt,内容为26个英文字母。

    64110编辑于 2024-10-16
  • 来自专栏bit哲学院

    C语言中fread(),fwrite(),fseek()用法和功能

    参考链接: C++ fseek() 1.用法:  int fread(void *buffer,int size,int count,FILE *fp);  int fwrite(void *buffer 3.fseek用法  int fseek(FILE *stream, long offset, int fromwhere);  第一个参数file指针  第二个参数移动的偏移量  第三个参数移动到哪里   分别用3个宏  SEEK_SET 既0 文件开头  SEEK_CUR 既1 文件当前位置  SEEK_END 既2 文件结尾  但不推荐用数字 最好用宏  简言之:  fseek(fp,100L,SEEK_SET );把fp指针移动到离文件开头100字节处;  fseek(fp,100L,SEEK_CUR);把fp指针移动到离文件当前位置100字节处;  fseek(fp,100L,SEEK_END);把fp指针退回到离文件结尾 此函数常用来计算流的长度:  int filesize = fseek( fp, 0, SEEK_END );  fseek( fp, 0, SEEK_SET );  文章来自于:  http://www.programgo.com

    2.4K00发布于 2021-02-13
  • 来自专栏鳄鱼儿的技术分享

    Linux开发:lseek()函数和fseek()函数的使用详解

    fseek定义 // 头文件 #include <stdio.h> // 函数定义 int fseek (FILE *stream, long offset, int whence); fseek 是 它与 lseek 不同,fseek 是针对流的,而 lseek 是针对文件描述符的。fseek 通常用于 FILE* 指针,这是 C 标准 I/O 库中使用的文件流类型。 返回值: 成功时,fseek 返回 0。 失败时,返回非零值,并设置 errno 以指示错误。 使用 fseek 时的一些注意事项: fseek 只能用于可以随机访问的流,比如磁盘上的文件。 对于某些类型的流(如标准输入、输出和错误流),fseek 可能不可用。 fseek 通常与 ftell(返回当前文件位置指针)和 rewind(将文件位置指针重置为文件开头)一起使用。 fseek 操作可能会失败,例如当 stream 是以文本模式打开的,且平台不支持随机访问文本文件时。

    2.2K10编辑于 2024-06-23
  • 来自专栏走在努力路上的自己

    文件操作(二、scanffscanfsscanf​与printffprintfsprintf​、fseek与ftell与rewind、feof)

    %d %f\n", tmp.name, tmp.age, tmp.score); // 打印tmp结构体的三个成员的值,以验证是否成功从arr数组中读取了数据 return 0; } 二、fseek 与ftell与rewind fseek​ 根据文件指针的位置和偏移量来定位文件指针。 int fseek ( FILE * stream, long int offset, int origin ); ftell​ 返回文件指针相对于起始位置的偏移量 long int ftell main() { FILE* pf = fopen("data.txt", "r"); if (pf == NULL) { perror("fopen"); return 1; } fseek (pf, -4, SEEK_CUR);//向后偏移4个字符 //fseek(pf, -6, SEEK_END);//向后偏移6个字符 //fseek(pf, 1, SEEK_CUR);//向前偏移一个字符

    60710编辑于 2024-01-26
  • 来自专栏陶士涵的菜地

    使用ftell和fseek函数直接定位文件位置获取部分数据

    对于大文件只获取部分数据很有用 1.使用ftell函数可以获取当前指针的字节位置 2.使用fseek函数可以直接定位到指定的位置 3.读取指定字节的数据就可以部分获取文件内容了 <? $this->fp) { throw new Exception('stream already closed'); } if (fseek($

    1.2K30发布于 2019-09-10
  • 来自专栏韩曙亮的移动开发专栏

    【C 语言】文件操作 ( 使用 fseek 函数生成指定大小文件 | 偏移量 文件字节数 - 1 )

    文章目录 一、fseek 函数生成指定大小的文件 一、fseek 函数生成指定大小的文件 ---- 利用 fseek 函数可以移动指针的原理 , 文件打开后 , 直接调用 fseek 函数 , 将指针向后移动指定偏移 可以瞬间生成一个指定大小的文件 ; 如要生成 n 字节的文件 , 可以先将指针指向距离开始位置偏移 n 字节的位置 , 在此处写出一个空字节 , 即可精准的生成一个 n 字节的文件 ; fseek 函数原型 : #include <stdio.h> int fseek(FILE *stream, long offset, int fromwhere); fseek 函数的作用是 以 int fromwhere 1000.dat", "w"); // 将指针指向 距离开始位置 1000 * 1000 - 1 字节偏移位置 // 这里特别注意 , 要预留出一个字节 , 用于做数据填充 fseek

    2.7K10编辑于 2023-03-29
  • 来自专栏码农爱学习的专栏

    【C文件操作2】如何随机的进行文件读取?

    01 文件随机位置读写基础函数 对于文件的随机位置读写,可以通过 fseek 、ftell与rewind 函数来完成 fseek fseek用于设置流stream的文件读写位置为给定的偏移 seeK的中文含义是 SEEK_SET 0 当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 例如: 将读写位置移动到文件开头 fseek(fp, 0L, SEEK_SET) 将读写位置移动到文件末尾 fseek (fp,0L,SEEK_END); 将读写位置移动到离文件开头100字节处 fseek(fp,100L,SEEK_SET); 将读写位置移动到离文件当前位置100字节处 fseek(fp,100L, 当fseek函数操作文本文件时,要注意回车换行的情况。 获取程度之后,再将读写位置使用fseek复原即可。

    1.5K30发布于 2021-05-14
  • 来自专栏cloudskyme

    结构体存入文件并且取出

    =0) { cout<<"you shuju"<<endl; for(i=0; i<tmpCount; i++) { fseek 用 法  int fseek(FILE *stream, long offset, int fromwhere); 描 述  函数设置文件指针stream的位置。 ;   }   int fseek( FILE *stream, long offset, int origin );   第一个参数stream为文件指针   第二个参数offset为偏移量, 简言之:   fseek(fp,100L,0);把fp指针移动到离文件开头100字节处;   fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;   fseek(fp, fseek函数也可以这样理解,相当于在文件当中定位。这样在读取规律性存储才文件时可以利用其OFFSET偏移量读取文件上任意的内容。

    1.2K60发布于 2018-03-20
  • 来自专栏半生瓜のblog

    C语言文件操作

    fseek(fp,0,SEEK_SET) 能够移动文件指针 可以指定文件从哪里开始读取 char str[200]; fseek(fp, 10, SEEK_SET); fread(str,1,100 ,fp); 在当前位置再往后移动x个位置 fseek(fp,10,SEEK_CUR); 读取文件最后一行 fseek(fp,0,SEEK_END); #define _CRT_SECURE_NO_WARNINGS (fp,0,SEEK_END); //反着读 fseek(fp, -1, SEEK_END); char ch = 0; int length = 0; while (fread(&ch, 1 ("length = %d\n", length); fseek(fp, -length, SEEK_END); char* buffer = (char*)malloc(sizeof(char) rewind(fp);//重置文件指针到开头 fseek(fp, 0, SEEK_END);//将文件指针定位到结尾 int nSize = ftell(fp);//文件指针偏移量 printf(

    3.6K10编辑于 2023-05-12
  • 来自专栏云计算运维

    C语言中文件随机读写是怎么一回事?

    2.fseek()函数 fseek()函数的作用嘛,将文件位置指针指向指定的位置,比如,往前移动一些距离,往后移动一些距离,像秤上的游标一样,没见秤的,自行去百度。 int fseek(FILE * stream, long offset, int whence); 在fseek()函数里面,参数stream还是那个文件指针,参数offset表示移动的距离,参数whence fseek()函数如果调用成功,就返回0,调用失败返回-1。 有一点呢要注意,fseek()函数呢是随便指的,如果指到一个位置,这个位置呢是一个汉字经过字符转换来的,一个汉字对应三个字符,那么要切时候可能要把汉字切开的,这时候就乱码了,所以fseek()函数呢,最好用到二进制文件中 3.ftell()函数 ftell()函数用于获取文件位置指针的当前位置,就是fseek()函数你把文件位置指针挪哪儿去了,你得告诉我一声啊,那ftell()函数呢就是告诉你文件位置指针的位置。

    93420发布于 2021-07-15
  • 来自专栏蒙奇D索隆的学习笔记

    【C语言加油站】C语言文件随机读写完全指南:fseek、ftell、rewind等五大函数深度解析

    时作为函数参数,让 fseek 将光标的位置恢复到当前位置 现在对于 fseek 和 ftell 这两个函数我们就能够理解为: ftell 用于获取文件中的光标位置 fseek 用于设置文件中的光标位置 = EOF) { printf("ch = %c\n", ch); ch = fgetc(pf); } // 通过 fseek 设置文件中的光标位置 int set = fseek(pf set = fseek(pf, index, SEEK_SET); // 由于我们打开的为文本文件,因此 origin 的值必须为文件开头(SEEK_SET) if (set ! 现在问题来了,这两个函数与前面我们介绍的 ftell 和 fseek 之间有什么不同呢? 让我们简单回顾一下本篇的重要内容: 函数功能总结: fseek:精确定位文件光标,支持三种参考位置(文件头、当前位置、文件尾) ftell:获取当前光标位置,为 fseek 提供定位依据

    30510编辑于 2025-11-05
  • 来自专栏全栈程序员必看

    PHP调用纯真IP数据库返回具体地址

    ip1num>$ipNum || $ip2num<$ipNum) { $Middle= intval(($EndNum + $BeginNum) / 2); fseek Error'; } $DataSeek = implode('', unpack('L', $DataSeek.chr(0))); fseek } $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0))); fseek ($fd, $AddrSeek2); } else { fseek($fd, -1, SEEK_CUR); } ($fd, $AddrSeek2); } else { fseek($fd, -1, SEEK_CUR); }

    1.5K30编辑于 2022-07-07
领券