首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

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

82410
您找到你想要的搜索结果了吗?
是的
没有找到

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

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

84820

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

在程序设计中,我们谈到的文件一般有两种(从文件功能的角度来分类):程序文件、数据文件 2.1 程序文件 程序文件包括源程序文件(后缀为.c)、目标文件(Windows环境下后缀为.obj,linux环境下后缀为...文件名包含三部分:文件路径+文件名主干+文件后缀 例如:C:\code\example.txt 为了方便起见,文件标识通常被称为文件名。...C程序针对文件、画面、键盘等的数据输⼊输出操作都是同流操作的。 一般情况下,我们要想向流里写数据,或者从流中读取数据,都是要打开流,然后操作。...C语言中,就是通过FILE*的文件指针来维护流的各种操作的。 4.2 文件指针 缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”。...ANSI C规定使用fopen函数来打开文件,fclose函数来关闭文件。

11910

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

1.6K00

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

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

2.2K10

c语言基础学习10_文件操作02

linux下所有的文本文件,每一行本来就是以\n结尾的,前面没有\r,参数b在linux下是无效的。 小规律: 在windows读写是一个二进制文件的时候,一般要加b,防止系统添加无谓的\r。...小结: 所以windows的文本文件要比linux的文本文件要大一些,因为windows的每一行会比linux的每一行多一个\r(即多1个字节)。...所以有时候,把linux的文本文件拿到windows下打开的情况下,会发现不换行了。 即:windows和linux(unix)的文本文件是不一样的。...Downloading file11.c from /home/chen/001/01/文件操作day01/file11.c 100% 779 bytes 779 bytes/s 00:00:...long ftell(FILE *stream); 例如:long len = ftell(fp); 可以通过fseek和ftell得到文件大小: fseek(fp, 0, SEEK_END); long

1.7K10

11.08-efi shell

SPD读取工具移植到EFI Shell环境下,并将读取的SPD内容保存至DIMM_SPD.txt 工作结果: 学习笔记: fopen()打开文件 perror()错误判断处理 fread()读取,写入 fseek...有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。...2.在类Unix/Linux系统中文本模式下,文件以"\n"代表换行。所以Linux系统中在文本模式和二进制模式下并无区别。 errno //宏。...简言之: fseek(fp,100L,0);把fp指针移动到离文件开头100字节处; fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处; fseek(fp,...(根据评论来看,应该是 fseek(fp,-100L,2) ) long ftell(FILE *stream); //返回当前文件位置,也就是说返回FILE指针当前位置。

1.1K20

标准IO (二).缓冲型IO库函数

前言 当前的计算系统除了包括对数据有 加工和处理 以外还有 搬运 这个 搬运 代表着 输入和输出 ,及 input/output ,简称 I/O UNIX/Linux 的缔造者们将数据的 来源和目标...《标准I/O (一)》 ,关于C语言的API(linux)可以参看 Linux C API 参考手册 在线文档 这里分享一下我在学习 UNIX I/O 库过程中的笔记和心得 ---- 概要 ----...标准IO库的常用函数 下面是一些 标准IO库中的常用函数 File *fopen(const char*path,const char *mode) int fseek(FILE *stream, long...+"))) //以读也可写的方式打开文件A,出错则提醒并退出 { printf("cannot open file:%s\n",fileA); return -1; } fseek...以下这些函数可以应对绝大部分的IO需求 fopen/fclose fread/fwrite fseek/ftell/rewind 通过各方面资料弄懂其参数的意义和返回值的类型,是熟练掌握的基础 原文地址

45330

Linux GNU C 和 ANSI C 的区别

Linux 上可用的 C 编译器是 GNU C 编译器,它建立在自由软件基金会的编程许可证的基础上,因此可以自由发布。GNU C对标准C进行一系列扩展,以增强标准C的功能。...open: generic_file_open, release: ext2_release_file, fsync: ext2_sync_file, }; 但是,Linux...C99已经支持__func__宏,因此建议在Linux编程中不再使用__FUNCTION__,而转而使用__func__: void example(void) { printf("This...Linux内核编程时常用的likely()和unlikely()底层调用的likely_notrace()、unlikely_notrace()就是基于 __builtin_expect(EXP,C)实现的...: gcc -c test.c 如果使用“-ansi–pedantic”编译选项,编译会报警: gcc -ansi -pedantic -c test.c test.c:3: warning: ISO

5.3K40

Linux C编程之一:Linuxc语言的开发环境

---恢复内容开始--- 今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...3、IDE(集成开发环境:集编辑、编译、调试等功能于一身的工具)   Kylix:号称Linux下的dephi;   Kdevelop   RHIDE:类似与Turbo C++ 4、编译器:gcc...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境的。...7、LinuxC程序开发过程:   (1)使用vi工具编辑写源程序;   (2)保存为*.c;   (3)使用gcc编译成二进制可执行文件;   (4)....**argv) { printf("Hello Linux\n"); return 0; } 9、c程序组成   对于一个c程序,安装完成后可以分成三个部分

10.7K00

Linux C编程之一:Linuxc语言的开发环境

今天开始根据Linux C编程相关视频的学习所做的笔记,希望能一直坚持下去。。。...1、开发环境的构成 编辑器:VI; 编译器:选择GNU C/C++编译器gcc; 调试器:应用广泛的gdb; 函数库:glibc ; 系统头文件:glibc_header; 2、在安装Linux时需要注意事项...假如用户在安装过程中少装了这些包,就无法编译c源程序,这时候可以通过rpm包来迅速安装LinuxC开发语言环境的。...7、LinuxC程序开发过程: (1)使用vi工具编辑写源程序; (2)保存为*.c; (3)使用gcc编译成二进制可执行文件; (4)....{ printf(“Hello Linux\n”); return 0; } 9、c程序组成 对于一个c程序,安装完成后可以分成三个部分: 可执行文件;包含文件;库文件 比如用rpm安装的MySQL

7.7K40
领券