c语言中rewind函数 c语言中rewind函数使位置指针回到文件

c语言操作文本的基本使用方法

c语言操作文本应该怎么使用,这对于很多新手来说,是很难的一件事情,下面我为大家带来了关于c语言操作文本的基本使用方法,欢迎大家阅读!

成都创新互联是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,成都天府联通服务器托管,海外高防服务器,大带宽服务器,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。

c语言操作文本的基本使用方法

1.字符读写:

fgetc函数的功能是从指定的文件中读一个字符,函数调用的形式为:

字符变量=fgetc(文件指针);

fputc函数的功能是把一个字符写入指定的文件中,函数调用的形式为:

fputc(字符量,文件指针);

2.字符串读写

读字符串函数fgets

函数的功能是从指定的文件中读一个字符串到字符数组中,函数调用的形式为:

fgets(字符数组名,n,文件指针);

写字符串函数fputs

fputs函数的功能是向指定的文件写入一个字符串,其调用形式为:

fputs(字符串,文件指针);

3.数据块读写

读数据块函数调用的一般形式为:

fread(buffer,size,count,fp);

写数据块函数调用的`一般形式为:

fwrite(buffer,size,count,fp);

4.格式化读写

fscanf函数,fprintf函数与前面使用的scanf和printf函数的功能相似,都是格式化读写函数。两者的区别在于fscanf函数和fprintf函数的读写对象不是键盘和显示器,而是磁盘文件。

这两个函数的调用格式为:

fscanf(文件指针,格式字符串,输入表列);

fprintf(文件指针,格式字符串,输出表列);

文件定位

移动文件内部位置指针的函数主要有两个,即rewind函数和fseek函数。

rewind函数前面已多次使用过,其调用形式为:

rewind(文件指针);

它的功能是把文件内部的位置指针移到文件首。

下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:

fseek(文件指针,位移量,起始点);

其中:

“文件指针”指向被移动的文件。

“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB时不会出错。当用常量表示位移量时,要求加后缀“L”。

“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。其表示方法如下表。

c语言操作文本的基本使用方法1

起始点表示符号数字表示

文件首SEEK_SET0

当前位置SEEK_CUR1

文件末尾SEEK_END2

例如:

fseek(fp,100L,0);

其意义是把位置指针移到离文件首100个字节处。

还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。

c语言中常用的文件检测函数有以下几个。

文件结束检测函数feof函数

调用格式:

feof(文件指针);

功能:判断文件是否处于文件结束位置,如文件结束,则返回值为1,否则为0。

读写文件出错检测函数

ferror函数调用格式:

ferror(文件指针);

功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。

文件出错标志和文件结束标志置0函数

clearerr函数调用格式:

clearerr(文件指针);

功能:本函数用于清除出错标志和文件结束标志,使它们为0值。

C语言中rewind函数的作用与用法

rewind函数

作用:将文件内部的位置指针重新指向一个流(数据流/文件)的开头。

用 法: void rewind(FILE *stream);

注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。

rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);[1]

头文件: stdio.h

返回值:无

程序示例:

#include stdio.h

#include dir.h

int main(void)

{

FILE *fp;

char fname[10] = "TXXXXXX", *newname, first;

newname = mktemp(fname);

fp = fopen(newname,"w+");

if(NULL==fp)

return 1;

fprintf(fp,"abcdefghijklmnopqrstuvwxyz");

rewind(fp);

fscanf(fp,"%c",first);

printf("The first character is: %c\n",first);

fclose(fp);

remove(newname);

return 0;

}

如何用C语言循环读取文件内容

循环读取一个文件的内容。

这样做没有任何意义,不如把读取的内容保持在变量当中,节省空间时间。如果非要反复读取的话可以使用rewind函数把文件指针重置。

函数名: rewind()

功 能: 将文件内部的位置指针重新指向一个流(数据流/文件)的开头

注意:不是文件指针而是文件内部的位置指针,随着对文件的读写文件的位置指针(指向当前读写字节)向后移动。而文件指针是指向整个文件,如果不重新赋值文件指针不会改变。rewind函数作用等同于 (void)fseek(stream, 0L, SEEK_SET);

循环读取多个文件的内容。

把多个文件名存在一个字符串数组当中。使用循环语句反复打开-读取-关闭即可。

例如:

char * s[3]={"文件一","文件二","文件三"};

for(i=0;i3;i++){

f=fopen(s[i]); //打开第i个文件

//读取数据

fclose(f);//关闭文件

}


网站标题:c语言中rewind函数 c语言中rewind函数使位置指针回到文件
文章源于:http://azwzsj.com/article/dogpoes.html