fseek 和fread、fwrite
#include"stdio.h"
fseek(文件类型指针fp,位移量,起始点);
函数功能:把与fp有关的文件位置指针放到一个指定位置其中,“位移量”是long型数据,它表示位置指针相对于“起始点”移动的字节数。如果位移量是一个正数,表示从“起始点”开始往文件尾方向移动;如果位移量是一个负数,则表示从“起始点”开始往文件头方向移动。
起始点”不能任意设定,它只能是在stdio.h中定义的三个符号常量之一:
:
起始点
|
对应的数字
|
代表的文件位置
|
SEEK_SET
|
0
|
文件开头
|
SEEK_CUR
|
1
|
文件当前位置
|
SEEK_END
|
2
|
文件末尾
|
例如:
fseek(fp,50L,0);或fseek(fp,50L,SEEK_SET);
其作用是将位置指针移到离文件头50个字节处。
ftell
调用形式:
#include"stdio.h"
long ftell(fp);
|
函数功能:得到流式文件中的当前位置,其返回值是当前位置相对于文件开头的字节数。
返回值:出错时返回-1L。
size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
buffer 是读取的数据存放的内存的指针
size 是每次读取的字节数
count 是读取次数
strean 是要读取的文件的指针
例如 从文件fp里读取100个字节 可用以下语句
fread(buff,100,1,fp)
fread(buff,50,2,fp)
fread(buff,1,100,fp)
如果想实现从某个文件中一次次N个字节般读出来,那建议不要用
read = fread(buff,N,1,data_file);
因为就算当文件的字节数比N大,但这时strlen(buff)绝不是N个字节大小!!也不是read个字节大小!!
查帮助文档,可知,read是指成功读入的单元块数,这里对应的就是,read要么是1,要么是0(由第三个参数决
定)!
分享到:
相关推荐
C语言读写二进制文件的使用
c语言文件指针,fscanf,fprintf,fseek,fwrite,fread等用法详解
1) 来获得 fseek(fptr,offset,SEEK_SET)函数来移动光标 文件读取用到了fread(structname,sizeof(structname),long long,FILE *fptr)和fwrite(structname,sizeof(structname),long long,FILE *fptr)
C语言文件处理总结 包含各种函数 fopen,fclose,fputc,fgetc,fscanf,fprintf,fread,fwrite,rewind,fseek,ftell,ferror,clearerr
1. 返回整数的getchar函数 2. 输入fread和输出fwrite同时操作,需在其中插入fseek函数的调用 3. 调用库函数时,应该先检查作为错误指示
二进制文件读写: 学习如何以二进制模式读写文件,使用fwrite和fread等函数进行字节级别的操作。 文件指针操作: 了解文件指针的概念,学会使用ftell和fseek等函数进行文件指针的定位和移动。 EOF(文件结束标志)...
例如,`fopen`函数用于打开文件并获取一个文件指针,`fread`和`fwrite`函数分别用于从文件中读取数据和向文件中写入数据,而`fclose`函数则用于关闭文件并释放相关资源。 在处理文件时,C语言还提供了文件定位函数...
文件的概念定义各种使用,一次只读写一个字符串:fgetc 和 fputc的使用,以及一次只读写一个字符串:fgets和fputs的使用,读写文件fread,fwrite ,格式化读写文件函数,随机读写rewind ,ftell,fseek的各种使用
可以去掉 空格和 换行 void CMainFrame::OnTrim() { FILE *pfile=fopen("a.txt","r+"); //CString strin("s"); //fwrite(strin,1,1,pfile); fseek(pfile,0,SEEK_END); int len=ftell(pfile); char * buf; ...
54) C语言之fread() 和 fwrite() 函数 结构体和其他数据形式 55) C语言之结构体的定义和初始化 56) C语言之访问结构体成员 57) C语言之结构数组 58) C语言之结构体指针 59) C语言之结构体做函数参数 60) C语言之把...
54) C语言之fread() 和 fwrite() 函数 结构体和其他数据形式 55) C语言之结构体的定义和初始化 56) C语言之访问结构体成员 57) C语言之结构数组 58) C语言之结构体指针 59) C语言之结构体做函数参数 60) C语言之把...
fwrite(str.GetBuffer(0),1,nFileNameLen,pFilePack); FILE* pFileOri = fopen(str.GetBuffer(0),"rb"); if (!pFileOri) { char buf[256]; sprintf(buf,"文件:\"%s\"不存在,打包失败!",str.GetBuffer...
对这些函数有详细解释和用例: fopen() 打开流 fclose() 关闭流 fputc() 写一个字符到流中 fgetc() 从流中读一个字符 fseek() 在流中定位到指定的字符 fputs() 写字符串到流 fgets() 从流中读一行或指定个...
33.6 Excel数据的导入和导出 33.7 载入数据importdata 33.8 读取格式化数据textscan 33.9 读取格式化的数据fscanf 33.10 实例 分类提取文本数据 33.11 逐行读取数据fgetl 33.12 读取二进制数据fread 33.13 移动文件...
特点;1、采用数据库的数据删除方式,非直接删除数据,而是加上标记,等待下次输入时的覆盖 ...3、原始数据的保密性,并且支持信息导出操作 4、采用fseek在文件中进行定位,配合fwrite()和fread()
3.5.3 fwrite函数2 3.5.4 fclose函数2 3.5.5 fflush函数3 3.5.6 fseek函数3 第4章 Linux环境14 第5章 终端 第6章 使用curses函数库管理基于文本的屏幕 第7章 数据管理 第8章 MySQL 第9章...
3.5.3 fwrite函数2 3.5.4 fclose函数2 3.5.5 fflush函数3 3.5.6 fseek函数3 第4章 Linux环境14 第5章 终端 第6章 使用curses函数库管理基于文本的屏幕 第7章 数据管理 第8章 MySQL 第9章 开发工具...
3.5.3 fwrite函数2 3.5.4 fclose函数2 3.5.5 fflush函数3 3.5.6 fseek函数3 第4章 Linux环境14 第5章 终端 第6章 使用curses函数库管理基于文本的屏幕 第7章 数据管理 第8章 MySQL 第9章...
i/o operations(open, read, write, seek, close, fopen, fread, fwrite, fseek, fclose) . 3. process opeartions(fork, getpid, getppid, waitpid, exit). 4. string opeartions(printf, itoa, strlen, strcpy,...
3.文件的读写(fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函数的应用),文件的定位(rewind,fseek函数的应用)。 3 考试方式 上机考试,考试时长120分钟,满分100分。 1.题型及分值 单项...