rewind函数

12.5.1 rewind函数

文件指针FILE *fp中,包含一个读写位置指针char *_nextc,它指向下一次文件读写的位置。

  typedef struct
   {
    int _fd;    /* 文件号 */
    int _cleft;   /* 缓冲区中剩下的字节数 */
    int _mode;   /* 文件操作模式 */
    char * _nextc; /* 下一个字节的位置 */
    char * _buff; /*文件缓冲区位置 */
   }FILE;


每当进行一次读写后,该指针自动指向下一次读写的位置。

当文件刚打开或创建时,该指针指向文件的开始位置。

可以用函数ftell()获得当前的位置指针,也可以用rewind()/fseek()函数改变位置指针,使其指向需要

读写的位置。

rewind()函数

原型:void rewind(FILE *fp)

作用:使文件fp的位置指针指向文件开始。

[例12.4] 把一个文件的内容显示在屏幕上,并同时复制到另一个文件。

#include "stdio.h"

void main()
{
FILE *fp1, *fp2;
fp1 = fopen("file1.c", "r"); /* 源文件 */

fp2 = fopen("file2.c", "w"); /* 复制到file2.c */

while(!feof(fp1)) putchar(fgetc(fp1)); /* 显示到屏幕上 */

rewind(fp1); /* fp回到开始位置 */

while(!feof(fp1)) fputc(fgetc(fp1), fp2);

fclose(fp1);

fclose(fp2);
}

 

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值