c语言如何打开电脑文件,[电脑基础知识]C语言文件.ppt

[电脑基础知识]C语言文件

字符串方式读写函数fgets和fputs 函数fgets( ) fgets(s, n, fp); 从文本文件中读取字符串 s:可以是字符数组名或字符指针;n:指定读入的字符个数;fp:文件指针 函数被调用时,最多读取n-1个字符,并将读入的字符串存入s所指向内存地址开始的n-1个连续的内存单元中。 当函数读取的字符达到指定的个数,或接收到换行符,或接收到文件结束标志EOF时,将在读取的字符后面自动添加一个’\0’字符;若有换行符,则将换行符保留(换行符在’\0’字符之前);若有EOF,则不保留 函数返回值 执行成功,返回读取的字符串; 如果失败,则返回空指针,这时,s的内容不确定 将字符串"apple", "grape", "pear" 写入到磁盘文件f9-5.txt中,然后再从该文件中读出,显示到屏幕。 int main(void) { FILE *fp; char a[ ][80] = {"apple", "grape", "pear"}, strout[80]=""; int i; if((fp = fopen("f9-5.txt","w")) == NULL){ printf("File open error!\n"); exit(0); } for(i = 0;i < 3;i++) fputs(a[i], fp); fclose(fp); if((fp = fopen("f12-5.txt","r")) == NULL){ printf("File open error!\n"); exit(0); } i = 0; while( !feof(fp) ){ if( fgets(strout, strlen(a[i++])+1, fp) != NULL) puts(strout); } fclose(fp); return 0; } 例9-5 9.3.4 格式化文件读写fscanf和fprintf fscanf(文件指针,格式字符串,输入表); fprintf(文件指针,格式字符串,输出表); 指定格式的输入输出函数 FILE *fp; int n; float x; fp = fopen("a.txt", "r"); fscanf(fp,"%d%f",&n,&x); 表示从文件a.txt分别读入整型数到变量n、浮点数到变量x fp = fopen("b.txt", "w"); fprintf(fp, "%d%f", n, x); 表示把变量n和x的数值写入文件b.txt 9.3.5 数据块读写fread()和fwrite() fread(buffer, size, count, fp); 从二进制文件中读入一个数据块到变量 fwrite(buffer, size, count, fp); 向二进制文件中写入一个数据块 buffer:指针,表示存放数据的首地址; size:数据块的字节数 count:要读写的数据块块数 fp:文件指针 9.3.6 其他相关函数 函数feof feof(fp) ; 判断fp指针是否已经到文件末尾, 函数返回值 1:到文件结束位置 0:文件未结束 其他相关函数 函数rewind( ) rewind(FILE *fp); 定位文件指针,使文件指针指向读写文件的首地址, 即打开文件时文件指针所指向的位置。 其他相关函数 函数fseek( ) fseek(fp, offset, from); 用来控制指针移动 offset:移动偏移量,long型 from:起始位置,文件首部、当前位置和文件尾部分别对应0,1,2,或常量SEEK_SET、SEEK_CUR、SEEK_END。 例如: fseek(fp, 20L, 0):将文件位置指针移动到离文件首20字节处 fseek(fp, -20L, SEEK_END):将文件位置指针移动到离文件尾部前20字节处 其他相关函数 函数ftell( ) ftell(文件指针); 获取当前文件指针的位置,即相对于文件开头的位移量(字节数) 函数出错时,返回-1L 9.3.6 其他相关函数 5.ferror函数:函数用来检查文件在用各种输入输出函数进行读写是否出错,若返回值为0,表示未出错,否则表示有错 调用形式为:ferror(文件指针); 文件指针必须是已经定义过的 其他相关函数 函数clearerr( ) clearerr(文件指针); 用来清除出错标志和文件结束标志,使它们为0 9.4 文件综合应用:个人小金库的管理 9.4.1顺序文件和随机文件 按照C程序对文件访问的特点来分,文件可分为顺序访

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值