函数fseek() 用法

合集下载

PHP常用库函数

PHP常用库函数

函数描述:obj dir(string directory);返回值:函数返回一个目录对象,该对象有两个属性:句柄和路径。

句柄可被其他目录函数使用,路径是用来生成目录对象的字符串。

如果出错,则返回false(0)。

Fclose函数描述:int fclose(int file_handle);说明:此函数关闭一个已打开的文件。

参数file_handle为一个文件被打开时产生的句柄。

返回值:如果关闭成功,返回true(1);否则,返回false(0)。

Feof函数描述:int feof(int file_handle);说明:在读取文件时,PHP始终保持一个指向该文件末尾的指针。

函数feof用以确定读取指针是否已到达文件末尾。

返回值:若文件读取指针达到文件末尾,函数feof返回ture(1);否则返回false(0)。

Fgetc函数描述:string fgetc(int file_handle);说明:参数file_handle 是一个文件被打开时产生的句柄。

返回值:函数fgetc从一个已经对打开的文件中读取一个单个字符。

如出错,则返回false(0)。

Fgets函数描述:string fgets(int file_handle, int length);返回值:返回从文件中读取的字符串,文件由文件句柄file_handle指定,读取长度将根据length-1尽可能的读取字符,支行结束或文章末尾。

若出错,则返回false(0)。

Fgetss函数描述:string fgetss(int file_handle,int length);返回值:与fgets相类似,只是在返回字符串时,试着剥去HTML或PHP代码。

File函数描述:array file(string filename);返回值:函数返回一个数组,数组的元素一次是文件的每一行,数组下标从开始。

若出错,则返回false(0).File_exists函数描述:int file_exists(string filename);说明:此函数用来确定文件是否存在。

2011年计算机等级二级C语言章节习题及答案(13)

2011年计算机等级二级C语言章节习题及答案(13)

2011年计算机等级二级C语言章节习题及答案(13)2011年计算机等级二级C语言章节习题及答案(13)第13章文件一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。

)13.1 fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B13.2 若fp是指向某文件的指针,且已读到文件末尾,则函数feof (f p)的返回值是A)EOFB)-1C)1D)NULL正确答案: C13.3 fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D13.4 下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D13.5 函数fseek(pf, OL,SEEK_END)中的SEEK_END代表的起始点是A)文件开始B)文件末尾C)文件当前位置D)以上都不对正确答案: B13.6 C语言中,能识别处理的文件为A)文本文件和数据块文件B)文本文件和二进制文件C)流文件和文本文件D)数据文件和二进制文件正确答案: B13.7 若调用fputc函数输出字符成功,则其返回值是A)EOFB)1C)0D)输出的字符正确答案: D13.8 已知函数的调用形式:fread(buf,size,count,fp),参数buf 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)一个指针,指向要读入数据的存放地址D)一个存储区,存放要读的数据项正确答案: C13.9 当顺利执行了文件关闭操作时,fclose函数的返回值是A)-1B)TRUEC)0D)1正确答案: C13.10 如果需要打开一个已经存在的非空文件“Demo”进行修改下面正确的选项是A)fp=fopen("Demo","r");B)fp=fopen("Demo","ab+");C)fp=fopen("Demo","w+");D)fp=fopen("Demo","r+");正确答案: D13.11 若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是A)fopen("A:\user\abc.txt","r")B)fopen("A:\\user\\abc.txt","rt+")C)fopen("A:\user\abc.txt","rb")D)fopen("A:\user\abc.txt","w")正确答案: B13.12 fwrite函数的一般调用形式是A)fwrite(buffer,count,size,fp);B)fwrite(fp,size,count,buffer);C)fwrite(fp,count,size,buffer);D)fwrite(buffer,size,count,fp);正确答案: D13.13 C语言中,文件组成的基本单位为A)记录B)数据行C)数据块D)字符序列正确答案: D13.14 C 语言中,系统的标准输入文件是指A)键盘B)显示器C)软盘D)硬盘正确答案: A13.15 有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20正确答案: A13.16 阅读以下程序及对程序功能的描述,其中正确的描述是#includemain(){ FILE *in,*out;char ch,infile[10],outfile[10];printf("Enter the infile name:\n");scanf("%s",infile);printf("Enter the outfile name:\n");scanf("%s",outfile);if((in=fopen(infile,"r"))==NULL){ printf("cannot open infile\n");exit(0);}if((out=fopen(outfile,"w"))==NULL){ printf("cannot open outfile\n");exit(0);}while(! feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);}A)程序完成将磁盘文件的信息在屏幕上显示的功能B)程序完成将两个磁盘文件合二为一的功能C)程序完成将一个磁盘文件复制到另一个磁盘文件中D)程序完成将两个磁盘文件合并并在屏幕上输出正确答案: C13.17 下面的程序执行后,文件test中的内容是#includevoid fun(char *fname,char *st){ FILE *myf; int i;myf=fopen(fname,"w" );for(i=0;ifclose(myf);}main(){ fun("test","new world"); fun("test","hello,");} A)hello, B)new worldhello,C)new worldD)hello, rld正确答案: A13.18 假定当前盘符下有两个文本文件,如下文件名a1.txt a2.txt内容123# 321#则下面程序段执行后的结果为#include "stdio.h"void fc(FILE *p){ char c;while((c=fgetc(p))!=′#′)putchar(C);}main(){ FILE *fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);fp=fopen("a2.txt","r");fc(fp);fclose(fp);putchar(′\n′);}A)123321B)123C)321D)以上答案都不正确正确答案: A13.19 阅读下面程序,程序实现的功能是(a123.txt在当前盘符下已经存在)#include "stdio.h"void main(){ FILE *fp;int a[10],*p=a;fp=fopen("a123.txt","w");while(strlen(gets(p))>0 ){ fputs(a,fp);fputs("\n",fp);}fclose(fp);}A)从键盘输入若干行字符,按行号倒序写入文本文件a123.txt 中B)从键盘输入若干行字符,取前2行写入文本文件a123.txt中C)从键盘输入若干行字符,第一行写入文本文件a123.txt中D)从键盘输入若干行字符,依次写入文本文件a123.txt中正确答案: D13.20 阅读下面程序,此程序的功能为#include "stdio.h"main(int argc,char *argv[]){ FILE *p1,*p2;int c;p1=fopen(argv[1],"r");p2=fopen(argv[2],"a");c=fseek(p2,0L,2);while((c=fgetc(p1))!=EOF)fputc(c,p2);fclose(p1);fclose(p2);}A)实现将p1打开的文件中的内容复制到p2打开的文件B)实现将p2打开的文件中的内容复制到p1打开的文件C)实现将p1打开的文件中的内容追加到p2打开的文件内容之后D)实现将p2打开的文件中的内容追加到p1打开的文件内容之后正确答案: C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。

matlab文件操作fopenfseekfreadfclose等

matlab文件操作fopenfseekfreadfclose等

文件操作是‎一种重要的‎输入输出方‎式,即从数据文‎件读取数据‎或将结果写‎入数据文件‎。

MATLA‎B提供了一‎系列低层输‎入输出函数‎,专门用于文‎件操作。

1、文件的打开‎与关闭1)打开文件在读写文件‎之前,必须先用f‎o pen函‎数打开或创‎建文件,并指定对该‎文件进行的‎操作方式。

fopen‎函数的调用‎格式为:fid=fopen‎(文件名,…打开方式‟)说明:其中fid‎用于存储文‎件句柄值,如果返回的‎句柄值大于‎0,则说明文件‎打开成功。

文件名用字‎符串形式,表示待打开‎的数据文件‎。

常见的打开‎方式如下:…r‟:只读方式打‎开文件(默认的方式‎),该文件必须‎已存在。

λ…r+‟:读写方式打‎开文件,打开后先读‎后写。

该文件必须‎已存在。

λ…w‟:打开后写入‎数据。

该文件已存‎在则更新;不存在则创‎建。

λ…w+‟:读写方式打‎开文件。

先读后写。

该文件已存‎在则更新;不存在则创‎建。

λ…a‟:在打开的文‎件末端添加‎数据。

文件不存在‎则创建。

λ…a+‟:打开文件后‎,先读入数据‎再添加数据‎。

文件不存在‎则创建。

λ另外,在这些字符‎串后添加一‎个“t”,如…rt‟或…wt+‟,则将该文件‎以文本方式‎打开;如果添加的‎是“b”,则以二进制‎格式打开,这也是fo‎p en函数‎默认的打开‎方式。

2)关闭文件文件在进行‎完读、写等操作后‎,应及时关闭‎,以免数据丢‎失。

关闭文件用‎f clos‎e函数,调用格式为‎:sta=fclos‎e(fid)说明:该函数关闭‎f id所表‎示的文件。

sta表示‎关闭文件操‎作的返回代‎码,若关闭成功‎,返回0,否则返回-1。

如果要关闭‎所有已打开‎的文件用f‎c lose‎(…all‟)。

2、二进制文件‎的读写操作‎1)写二进制文‎件fwrit‎e函数按照‎指定的数据‎精度将矩阵‎中的元素写‎入到文件中‎。

其调用格式‎为:COUNT‎=fwrit‎e(fid,A,preci‎s ion)说明:其中COU‎N T返回所‎写的数据元‎素个数(可缺省),fid为文‎件句柄,A用来存放‎写入文件的‎数据,preci‎s ion代‎表数据精度‎,常用的数据‎精度有:char、uchar‎、int、long、float‎、doubl‎e等。

linux中text函数族的用法

linux中text函数族的用法

linux中text函数族的用法在Linux中,text函数族是一组用于处理文本文件的函数。

这些函数提供了一种方便有效的方式来操作文本文件,包括读取、写入、查找和修改。

在本篇文章中,我将详细介绍Linux中text函数族的用法。

1. fopen函数:fopen函数用于打开一个文本文件,并返回一个指向该文件的指针。

它有两个参数,文件名和打开模式。

打开模式可以是读取模式("r")、写入模式("w")或追加模式("a")。

以下是fopen函数的示例用法:cFILE *file = fopen("example.txt", "r");if (file == NULL) {printf("文件打开失败\n");return 1;}2. fgets函数:fgets函数用于从文本文件中读取一行内容,并将其存储在一个字符数组中。

它有三个参数,第一个是用于存储读取的内容的字符数组,第二个是要读取的最大字符数,第三个是文件指针。

以下是fgets函数的示例用法:cchar buffer[100];while (fgets(buffer, sizeof(buffer), file) != NULL) {printf("%s", buffer);}3. fputs函数:fputs函数用于将一个字符串写入到文本文件中。

它有两个参数,第一个是要写入的字符串,第二个是文件指针。

以下是fputs函数的示例用法:cfputs("Hello, World!", file);4. fseek函数:fseek函数用于移动文件指针到指定位置。

它有三个参数,第一个是文件指针,第二个是要移动的字节数,第三个是起始位置。

起始位置可以是文件开头(SEEK_SET)、当前位置(SEEK_CUR)或文件末尾(SEEK_END)。

C语言文件操作命令

C语言文件操作命令

C语言文件操作函数大全clearerr(清除文件流的错误旗标)相关函数 feof表头文件 #include<stdio.h>定义函数 void clearerr(FILE * stream);函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。

返回值fclose(关闭文件)相关函数 close,fflush,fopen,setbuf表头文件 #include<stdio.h>定义函数 int fclose(FILE * stream);函数说明 fclose()用来关闭先前fopen()打开的文件。

此动作会让缓冲区内的数据写入文件中,并释放系统所提供的文件资源。

返回值若关文件动作成功则返回0,有错误发生时则返回EOF并把错误代码存到errno。

错误代码 EBADF表示参数stream非已打开的文件。

范例请参考fopen()。

fdopen(将文件描述词转为文件指针)相关函数 fopen,open,fclose表头文件 #include<stdio.h>定义函数 FILE * fdopen(int fildes,const char * mode);函数说明 fdopen()会将参数fildes 的文件描述词,转换为对应的文件指针后返回。

参数mode 字符串则代表着文件指针的流形态,此形态必须和原先文件描述词读写模式相同。

关于mode 字符串格式请参考fopen()。

返回值转换成功时返回指向该流的文件指针。

失败则返回NULL,并把错误代码存在errno中。

范例#include<stdio.h>main(){FILE * fp =fdopen(0,”w+”);fprintf(fp,”%s\n”,”hello!”);fclose(fp);}执行 hello!feof(检查文件流是否读到了文件尾)相关函数 fopen,fgetc,fgets,fread表头文件 #include<stdio.h>定义函数 int feof(FILE * stream);函数说明 feof()用来侦测是否读取到了文件尾,尾数stream为fopen()所返回之文件指针。

c语言 文件操作函数

c语言 文件操作函数

c语言文件操作函数C语言文件操作函数C语言文件操作函数是C语言提供的一种文件操作方式,可以通过这些函数来读取、写入和修改文件。

文件操作函数可以帮助我们完成很多与文件有关的任务,比如读取配置文件、保存用户数据等。

在本文中,将介绍C语言中常用的文件操作函数。

打开文件在C语言中,我们可以使用fopen()函数来打开一个文件。

该函数的原型如下:FILE *fopen(const char *filename, const char *mode);其中,filename表示要打开的文件名,mode表示打开文件的模式。

mode的取值如下:- "r":以只读方式打开文件- "w":以写方式打开文件,如果文件不存在,则创建该文件;如果文件已存在,则清空该文件- "a":以写方式打开文件,如果文件不存在,则创建该文件;如果文件已存在,则在文件末尾追加数据- "r+":以读写方式打开文件,文件必须存在- "w+":以读写方式打开文件,如果文件不存在,则创建该文件;如果文件已存在,则清空该文件- "a+":以读写方式打开文件,如果文件不存在,则创建该文件;如果文件已存在,则在文件末尾追加数据例如,我们可以使用以下代码来打开一个名为example.txt的文件:FILE *fp;fp = fopen("example.txt", "w+");if (fp == NULL) {printf("Open file failed!\n");}在打开文件之后,我们可以使用fclose()函数来关闭文件,释放文件资源。

例如:fclose(fp);读取文件在C语言中,我们可以使用fscanf()函数从文件中读取数据。

该函数的原型如下:int fscanf(FILE *stream, const char *format, ...);其中,stream表示要读取数据的文件,format表示数据的格式。

C语言中的文件操作与输入输出流

C语言中的文件操作与输入输出流

C语言中的文件操作与输入输出流文件处理是程序设计中常见的操作之一,而在C语言中,文件操作函数和输入输出流是实现文件处理的主要手段。

本文将介绍C语言中文件操作与输入输出流的基本概念、函数和使用方法。

一、文件操作概述在C语言中,文件被看作是一系列按顺序排列的字节。

文件的打开、读取、写入和关闭都是通过相应的函数来实现的。

C语言提供了一系列的文件操作函数,其中最常用的包括:文件打开函数(fopen)、文件关闭函数(fclose)、文件读取函数(fread)、文件写入函数(fwrite)和文件定位函数(fseek)等。

二、文件打开与关闭文件的打开和关闭是文件操作的基础。

通过文件打开函数(fopen),我们可以打开一个指定的文件,并返回一个文件指针,以便后续对文件的读取和写入操作。

文件关闭函数(fclose)则用于关闭一个已打开的文件。

例如,下面的代码演示了如何打开和关闭一个文件:```c#include <stdio.h>int main() {FILE *file = fopen("example.txt", "r");if (file == NULL) {printf("文件打开失败\n");return 1;}// 对文件的读取和写入操作fclose(file);return 0;}```三、文件读取与写入文件读取与写入是文件操作中常用的功能。

C语言提供了一系列的文件读取函数和文件写入函数,可以根据不同的需求调用适当的函数来完成操作。

常用的文件读取函数包括:getchar(从标准输入读取一个字符)、fgetc(从指定文件读取一个字符)、fgets(从指定文件读取一行字符串)、fscanf(从指定文件读取格式化数据)等。

常用的文件写入函数包括:putchar(向标准输出写入一个字符)、fputc(向指定文件写入一个字符)、fputs(向指定文件写入一行字符串)、fprintf(向指定文件写入格式化数据)等。

c语言中fseek选择题

c语言中fseek选择题

c语言中fseek选择题在C语言中,`fseek()`函数用于改变文件的位置指针的位置。

以下是一些关于`fseek()`的常见选择题:1. `fseek()`函数的原型是:A. `int fseek(FILE stream, int offset, int whence);`B. `int fseek(FILE stream, long offset, int whence);`C. `void fseek(FILE stream, long offset, int whence);`D. `long fseek(FILE stream, long offset, int whence);`答案:B。

2. 在`fseek()`函数中,`whence`参数的值是:A. 文件位置指针的当前位置B. 文件位置指针的起始位置C. 文件位置指针的结束位置D. 文件的大小答案:B。

3. 如果要在文件内部移动文件位置指针,应将`whence`参数设置为:A. `SEEK_SET`B. `SEEK_CUR`C. `SEEK_END`D. 以上都可以答案:A。

4. 如果要在文件开头和文件尾部之间移动文件位置指针,应将`whence`参数设置为:A. `SEEK_SET`B. `SEEK_CUR`C. `SEEK_END`D. 以上都可以答案:C。

5. 如果要在文件内部移动文件位置指针,并将偏移量设置为0,应将偏移量参数设置为:A. 0B. `ftell()`函数的返回值C. `fsize()`函数的返回值D. `fread()`函数的返回值答案:A。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅。

函数功能是把文件指针指向文件的开头,需要包含头文件stdio.h
fseek
函数名: fseek
功能: 重定位流上的文件指针
用法: int fseek(FILE *stream, long offset, int fromwhere);
描述: 函数设置文件指针stream的位置。

如果执行成功,stream将指向以fromwhere为基准,偏移offset个字节的位置。

如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

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

fseek position the file position pointer for the file referenced by stream to the byte location calculated by offset.
程序例:
[cpp]
01.#i n c l u d e<s t d i o.h>
02.l o n g f i l e s i z e(F I L E*s t r e a m);
03.i n t m a i n(v o i d)
04.{
05.F I L E*s t r e a m;
06.s t r e a m=f o p e n("M Y F I L E.T X T","w+");
07.f p r i n t f(s t r e a m,"T h i s i s a t e s t");
08.p r i n t f("F i l e s i z e o f M Y F I L E.T X T i s%l d b y t e s\n",f i l e s i z e(s t r e a m));
09.f c l o s e(s t r e a m);
10.r e t u r n0;
11.}
12.l o n g f i l e s i z e(F I L E*s t r e a m)
13.{
14.l o n g c u r p o s,l e n g t h;
15.c u r p o s=f t e l l(s t r e a m);
16.f s e e k(s t r e a m,0L,S E E K_E N D);
17.l e n g t h=f t e l l(s t r e a m);
18.f s e e k(s t r e a m,c u r p o s,S E E K_S E T);
19.r e t u r n l e n g t h;
20.}
无法加载插件。

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);把fp指针移动到离文件开头100字节处;
fseek(fp,100L,1);把fp指针移动到离文件当前位置100字节处;
fseek(fp,100L,2);把fp指针退回到离文件结尾100字节处。

使用实例:
[cpp]
01.#i n c l u d e<s t d i o.h>
02.#d e f i n e N5
03.t y p e d e f s t r u c t s t u d e n t{
04.l o n g s n o;
05.c h a r n a m e[10];
06.f l o a t s c o r e[3];
07.}S T U;
08.v o i d f u n(c h a r*f i l e n a m e,S T U n)
09.{
10.F I L E*f p;
11.f p=f o p e n(f i l e n a m e,"r b+");
12.f s e e k(f p,-1L*s i z e o f(S T U),S E E K_E N D);
13.f w r i t e(&n,s i z e o f(S T U),1,f p);
14.f c l o s e(f p);
15.}
16.v o i d m a i n()
17.{
18.S T U t[N]={{10001,"M a C h a o",91,92,77},{10002,"C a o K a i",75,60,88},
19.{10003,"L i S i",85,70,78},{10004,"F a n g F a n g",90,82,87},
20.{10005,"Z h a n g S a n",95,80,88}};
无法加载插件。

21.S T U n={10006,"Z h a o S i",55,70,68},s s[N];
22.i n t i,j;F I L E*f p;
23.f p=f o p e n("s t u d e n t.d a t","w b");
24.f w r i t e(t,s i z e o f(S T U),N,f p);
25.f c l o s e(f p);
26.f p=f o p e n("s t u d e n t.d a t","r b");
27.f r e a d(s s,s i z e o f(S T U),N,f p);
28.f c l o s e(f p);
29.p r i n t f("\n T h e o r i g i n a l d a t a:\n\n");
30.f o r(j=0;j<N;j++)
31.{
32.p r i n t f("\n N o:%l d N a m e:%-8s S c o r e s:",s s[j].s n o,s s[j].n a m e);
33.f o r(i=0;i<3;i++)
[cpp]
01.p r i n t f("%6.2f",s s[j].s c o r e[i]);
02.p r i n t f("\n");
03.}
04.f u n("s t u d e n t.d a t",n);
05.p r i n t f("\n T h e d a t a a f t e r m o d i f i n g:\n\n");
06.f p=f o p e n("s t u d e n t.d a t","r b");
07.f r e a d(s s,s i z e o f(S T U),N,f p);
08.f c l o s e(f p);
09.f o r(j=0;j<N;j++)
10.{
11.p r i n t f("\n N o:%l d N a m e:%-8s S c o r e s:",s s[j].s n o,s s[j].n a m e);
12.f o r(i=0;i<3;i++)
[cpp]
01.p r i n t f("%6.2f",s s[j].s c o r e[i]);
02.p r i n t f("\n");
03.}
无法加载插件。

无法加载插件。

相关文档
最新文档