fseek函数的返回值?
fseek返回的是一个整型。
fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,但fseek返回的是一个整型。
int fseek(FILE *stream, long offset, int fromwhere);函数设置文件指针stream的位置。
如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset取值大于等于2*1024*1024*1024,即long的正数范围2G),则不改变stream指向的位置,函数返回一个非0值。
c语言fseek函数的用法换行?
fseek函数用于在文件中定位指针的位置。它可以将文件指针移动到指定的位置,以便进行读取或写入操作。
换行符在文件中被表示为'\n',它可以用来在文本文件中创建新的行。要在C语言中使用fseek函数进行换行操作,可以将文件指针移动到当前位置的下一个位置,即使用fseek(file, 1, SEEK_CUR)。这将使文件指针向前移动一个位置,从而实现换行的效果。请注意,fseek函数的第一个参数是文件指针,第二个参数是要移动的字节数,第三个参数是指定移动的起始位置。
fseek本身无法定位下一行。
但是可以通过自定义函数来处理。设置方法如下,
#include <stdio.h>
int getNextLinePos(FILE *p)
{
int ch;
int curpos = 0;
ch=getc(p);
curpos = ftell(p);
while(ch!=EOF)
{
putchar(ch);
ch=getc(p);
if(ch == '\n')
{
break;
}
}
return (ftell(p) - curpos + 1);
}
int main(void)
{
FILE *fp;
fp=fopen("FileDemo.tt","r");
if (fp==NULL)
{
printf("I can't open file!\n");
return 0;
}
fseek(fp, getNextLinePos(fp), SEEK_SET); // 指向下一行
return 0;
}
c语言中文件的存取方式只能从文件的开头存取?
C语言中文件的存取方式有两种:顺序存取和随机存取。顺序存取就是从文件的开头开始,从头到尾顺序读取或写入数据;而随机存取方式则可以通过调用C语言的库函数来指定开始读取或写入的字节号,然后直接对此位置上的数据进行读取或写入操作。因此,C语言中文件的存取方式并不仅限于从文件开头存取。

