C语言——文件-加密解密.ppt
文本预览下载声明
#include stdio.h main() { char c; FILE *fp; fp=fopen(“e:\\sun\\a.txt”,”wb”); for(c=‘a’; c=‘z’; c++) fwrite( c,1, 1, fp); fclose(fp); } 例分析程序的功能。 练08年9月国二考题 #include stdio.h main() { FILE *pf; char *s1=China, *s2=Beijing; pf=fopen(abc.dat, wb+); fwrite(s2, 7,1,pf); rewind(pf); /*文件位置指针回到文件头*/ fwrite(s1, 5, 1, pf); fclose(pf); } 以上程序执行后abc.dat文件的内容是: A. China B. Chinang C. ChinaBeijing D. BeijingChina 10.6.1 文件的随机读写 文件指针 : 打开的文件中有一个位置指针指示动迁的读写位置,对文件每进行一次读写,文件指针自动指向下一个读写位置,则可方便地进行顺序读写,利用定位函数还可实现随机读写. rewind ()函数 功能:使文件指针重新指向文件的开头位置。 此函数没有返回值 形式: rewind(fp) fp为指向fopen函数打开的文件的指针。 例 对一个磁盘文件进行显示和复制两次操作 #include stdio.h main() { FILE *fp1,*fp2; char ch; fp1=fopen(d:\\sun\\a.txt,r); fp2=fopen(d:\\sun\\aa.bak,w); while((ch=fgetc(fp1))!=EOF) putchar(ch); rewind(fp1); while((ch=fgetc(fp1))!=EOF) fputc(ch,fp2); fclose(fp1); fclose(fp2); } fp:为指向fopen函数打开的文件的指针; offset:文件指针的位移量,字节数,long型,加l或L; from:起始位置 fseek()函数: 利用该函数可以改变文件指针的位置,从而实现随机读写 形式: fseek(fp,offset,from); 位移量(以起始点为基点,移动的字节数) 0 向后移动 0 向前移动 例 fseek(fp, 100L,0); fseek(fp, 50L,1); fseek(fp ,-10L,2); 10.6.1 文件的随机读写 起始点 文件开始 SEEK_SET 0 文件当前位置 SEEK_CUR 1 文件末尾 SEEK_END 2 rewind()函数: fseek()函数: ftell()函数: 取得文件指针的当前位置,用字节数,long类型。 10.6.1 文件的随机读写 #includestdio.h main() { FILE *fp; long length; fp=fopen(“e:\\sun\\a.txt”,r); if(fp==NULL) printf(file not found!\n); else { fseek(fp,0L,SEEK_END); length=ftell(fp); printf(Length of File is %1d bytes\n,length); fclose(fp); } } 例 分析程序功能。 求文件长度 练习以下程序的功能是( )。 #includestdio.h main() { FILE *fp; fp=fopen(“abc.txt, r+); while(!feof(fp)) if(fgetc(fp)==’*’) { fseek(fp,-1L,SEEK_CUR); fputc(‘$’,fp); fseek(fp,ftell(fp),SEEK_SET); }
显示全部