打开函数的指针,是文件流的指针,指向这个文件流。
内部指针指向当前 *** 作在文件流中的位置
fp是文件指针的话
可以使用ftell(fp)来获取当前内部指针位置。
也有fseek函数来设置内部指针位置,这些函数调用的时候,必须使用文件流的 指针。文件流的指针始终是这个fp,但内部指针的位置是一直在移动的,没有一个可见的内部指针的变量来让你 *** 作,只对文件指针 *** 作就可以了。
读写文件的时候内部指针自动移动,是C的IO系统管理来实现的,这个文件流其实仍然是IO,跟键盘鼠标都是由IO系统管理来做的,不用去关心底层的具体 *** 作,只要知道读写 *** 作以后内部指针变了,就行。
换行的地方有个回车符和换行符,各占一个字节了,
#include "stdafxh"#include <stdlibh>
#include <stdioh>
#include <stringh>
#define PAUSE int pause;\
scanf("%d",&pause);
int _tmain(int argc, _TCHAR argv[])
{
FILE pFile;
pFile=fopen("metxt","r");
char a[5],b[5],c[5];
memset(a,0,5);
memset(b,0,5);
memset(c,0,5);
fread(a,1,4,pFile);
printf("%s\n",a);
int pos;
pos=ftell(pFile);
printf("pos=%d\n",pos);
fread(b,1,4,pFile);
//文件指针从当前位置前进2个字节,因为有个\n\t
fseek(pFile,2,SEEK_CUR);
printf("%s\n",b);
pos=ftell(pFile);
printf("pos=%d\n",pos);
fread(c,1,4,pFile);
printf("%s\n",c);
pos=ftell(pFile);
printf("pos=%d\n",pos);
fclose(pFile);
PAUSE;
return 0;
}
读取文件的特定位置数据(fread函数),不是从文件指针首地址。
知道fread函数,放到一个变量里,我想从文件的中间读4个字节,是文件的首指针,但是他的第4个参数
然后再用fread函数来读就可以了先用fseek函数移动文件指针到你需要读取的位置/119658667html
都能实现,readLine()不在RandomAccessFile类中
读取一个字符,一个整数,一个浮点数,分别使用Int,Float,String类
移动文件指针到文件结尾,没有直接的方法,得到文件的长度len跳过len,不就是文件的结尾?判断的方法也一样
我记得有个一向后移动指针的方法好像是seek(),不知道在哪一个类中
第7个问题,没有办法,只能把文件流关闭,重新打开不会浪费太多时间,除非这个 *** 作重复几十万次。
都是
scanf函数是一个标准库函数,它的函数原型在头文件“stdioh”中。与printf函数相同,C语言也允许在使用scanf函数之前不必包含stdioh文件。scanf函数的一般形式为:
scanf(“格式控制字符串”, 地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示字符串。地址表列中给出各变量的地址。地址是由地址运算符“&”后跟变量名组成的。
函数名:write
头文件:<ioh>
函数原型: int write(int handle,void buf,int len);
功能:获取打开文件的指针位置
参数:int handle 为要获取文件指针的文件句柄
void buf 为要写入的内容
int len 为要写入文件的长度
返回值:返回实际写入文件内容的长度
程序例:将字符串写入文件,并读取文件中的字符串,输出结果
以上就是关于C语言文件指针自动移动全部的内容,包括:C语言文件指针自动移动、c++ 文件读 *** 作 位置指针问题、读取文件的特定位置数据(fread函数),不是从文件指针首地址。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)