clwn.net
当前位置:首页 >> C语言中文件指针怎样向前移动一个字节 >>

C语言中文件指针怎样向前移动一个字节

你是用C标准I/O库函数的话,(1)文件定位:文件定位指读取或设置文件当前读写点,所有的通过文件指针读写数据的函数,都是从文件的当前读写点读写数据的.常用的函数有:#include <stdio.h> int fseek(FILE *stream, long offset, int

循环结束后,直接p=a;就可以了.

会的.向前说法并不准确, 因为前后没有明确的规则.应该说是向文件尾移动一位.

1. 你写入文件进是按一行一个结构体写入的,这时你有没有用换行符,如果有,你就要在fseek时加入换行符的字节.2. n在fseek时要减1,fseek(fp,(n-1)*44L,SEEK_SET); 才是你要修改的数据.

int fseek( FILE *stream, long offset, int origin ); 第一个参数stream为文件指针 第二个参数offset为偏移量,正数表示正向偏移,负数表示负向偏移 第三个参数origin设定从文件的哪里开始偏移,可能取值为:SEEK_CUR、 SEEK_END 或

用库函数fseek(文件类型指针,位移量,起始点)例如fseek(fp,100L,0);经文件位置标记向前移到离文件开头100个字节处fseek(fp,50L,1);将文件位置标记向前移到离当前位置50个字符处fseek(fp,-10L,2);将文件标记从文件末尾处向后退10个字节0表示文件开始位置1表示当前位置,2表示文件末尾位置

转义字符:\b

一个指针变量在内存中占两个字节(small模式编译) 一个指针变量在内存中占四个字节(32位机器上) 一般都是32位机器的,所以四个字节咯.

文件内部指针不是就是用打开文件函数所赋值的那个指针,打开函数的指针,是文件流的指针,指向这个文件流.内部指针指向当前操作在文件流中的位置 fp是文件指针的话 可以使用ftell(fp)来获取当前内部指针位置.也有fseek函数来设置内部指针位置,这些函数调用的时候,必须使用文件流的 指针.文件流的指针始终是这个fp,但内部指针的位置是一直在移动的,没有一个可见的内部指针的变量来让你操作,只对文件指针操作就可以了.读写文件的时候内部指针自动移动,是C的IO系统管理来实现的,这个文件流其实仍然是IO,跟键盘鼠标都是由IO系统管理来做的,不用去关心底层的具体操作,只要知道读写操作以后内部指针变了,就行.

#include &lt;stdio.h&gt;void main( void ){ char ch; long position; FILE *fp = fopen("test.txt","r") ; if(fp==NULL) { puts("cannot open file"); return; } while(!feof(fp)) { ch = fgetc(fp); //记录换行后第一个字节处的位置 if(ch=='\n' ||ch=='\r') position =

ceqiong.net | yhkn.net | skcj.net | wlbx.net | 9647.net | 网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com