3个回答
展开全部
首先你要明白一点,文件的读写是流操作,即从头流到尾的,中间是没有标识并且不可逆的
所以通常都是顺序地读出所有的内容(按行或按字节读出),保存在变量中,这样就可以通过循环变量来找到想要的部分了。至于你说的指向,写一段代码你就明白了
——————————————————————————————————————————
FILE *fp;
char buff[1024];
fp=fopen("file.txt","rb+");
fread(b,1,100,fp); ←就是这里将文件的内容按照指定的格式写入缓冲区数组中
fclose(fp);
这样,你就拥有了一个存有文件内容的buff,而这个buff的第一个值,就是你要的1 那个字符。
当然,通过fseek等函数,你也可以在数据流中往回移动,但是这个比较复杂,也有一定的危险,这里就不多叙述了。
所以通常都是顺序地读出所有的内容(按行或按字节读出),保存在变量中,这样就可以通过循环变量来找到想要的部分了。至于你说的指向,写一段代码你就明白了
——————————————————————————————————————————
FILE *fp;
char buff[1024];
fp=fopen("file.txt","rb+");
fread(b,1,100,fp); ←就是这里将文件的内容按照指定的格式写入缓冲区数组中
fclose(fp);
这样,你就拥有了一个存有文件内容的buff,而这个buff的第一个值,就是你要的1 那个字符。
当然,通过fseek等函数,你也可以在数据流中往回移动,但是这个比较复杂,也有一定的危险,这里就不多叙述了。
展开全部
FILE *fp;
fp=fopen(filename,"r+");
打开时就指向第一个字符了
当然也可以用fseek函数
fseek(fp,0,SEEK_SET);//指针移到0位置,就是开头
fseek(fp,100,SEEK_CUR);//指针从当前位置向后移100
fseek(fp,200,SEEK_END);//指针距末尾200个字节
fp=fopen(filename,"r+");
打开时就指向第一个字符了
当然也可以用fseek函数
fseek(fp,0,SEEK_SET);//指针移到0位置,就是开头
fseek(fp,100,SEEK_CUR);//指针从当前位置向后移100
fseek(fp,200,SEEK_END);//指针距末尾200个字节
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接定义一个和文件类型相同的指针 然后将指针指向文件名即可!
追问
能说说具体操作码?
可不可写个大概代码啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询