fseek函数的用法?freqz函数
今天给各位分享fseek函数的用法的知识,其中也会对freqz函数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
fseek函数是怎么用的
fseek函数用于重定位流(数据流/文件)上的文件内部位置指针。
函数原型int fseek(FILE*stream, long offset, int fromwhere);
参数:
stream为文件流的指针
offset偏移量
fromwhere起始位置
具体功能:如果执行成功,stream将指向以fromwhere(起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。
返回值:
成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。
实例:
#include<stdio.h>
long filesize(FILE*stream);
int main(void)
{
FILE*stream;
stream=fopen("MYFILE.TXT","w+");
fprintf(stream,"This is a test");
printf("File size of MYFILE.TXT is%ld bytes\n",filesize(stream));
fclose(stream);
return 0;
}
long filesize(FILE*stream)
{
long curpos,length;
curpos=ftell(stream);
fseek(stream,0L,SEEK_END);
length=ftell(stream);
fseek(stream,curpos,SEEK_SET);
return length;
}
函数fseek()的正确调用形式是( )。
【答案】:B
指针函数fseek()的调用形式为:fseek(fp,offset,position);fseek函数参数说明:“fp”是指向该文件的文件型指针;“offset”为位移量,是指从起始点position到要确定的新位置的字节数。以起点为基准,向前移动字节数。“position”为起始点,指出以文件的什么位置为基准进行移动,position的值用整型常数表示,“0”表示文件的开头,“1”表示文件的当前位置,“2”表示文件的末尾。
fread函数的用法
fread函数可从文件中读取二进制数据
语法:
A= fread(fid, count)
A= fread(fid, count, precision)
其中fid为指针所指文件中的当前位置,count指读取的数据个数, precision表示以什么格式的数据类型读取数据。
例子:
fid= fopen('alphabet.txt','r');
c= fread(fid, 5)'
c=
65 66 67 68 69
fclose(fid);
程序说明:alphabet文件中按顺序存储着26个英文字母,读取文件之前要先打开文件,由于未指定读取数据的类型,所以程序指定默认类型为无符号字符型即uchar,65、66、67、68、69代表A、B、C、D、E,文件用完还要记得关闭文件,以便释放指针。
扩展资料:用法
int feof(FILE*stream);
参数
流:FILE结构的指针
注意:feof判断文件结束是通过读取函数fread/fscanf等返回错误来识别的,故而判断文件是否结束应该是在读取函数之后进行判断。比如,在while循环读取一个文件时,如果是在读取函数之前进行判断,则如果文件最后一行是空白行,可能会造成内存错误。
参考资料:fread--百度百科
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!