Posted on 2009-07-10 13:40
Prayer 閱讀(8198)
評論(0) 編輯 收藏 引用 所屬分類:
C/C++
12.5.1 rewind函數(shù)
文件指針FILE *fp中,包含一個讀寫位置指針char *_nextc,它指向下一次文件讀寫的位置。
typedef struct
{
int _fd; /* 文件號 */
int _cleft; /* 緩沖區(qū)中剩下的字節(jié)數(shù) */
int _mode; /* 文件操作模式 */
char * _nextc; /* 下一個字節(jié)的位置 */
char * _buff; /*文件緩沖區(qū)位置 */
}FILE;
每當(dāng)進行一次讀寫后,該指針自動指向下一次讀寫的位置。
當(dāng)文件剛打開或創(chuàng)建時,該指針指向文件的開始位置。
可以用函數(shù)ftell()獲得當(dāng)前的位置指針,也可以用rewind()/fseek()函數(shù)改變位置指針,使其指向需要
讀寫的位置。
rewind()函數(shù)
原型:void rewind(FILE *fp)
作用:使文件fp的位置指針指向文件開始。
[例12.4] 把一個文件的內(nèi)容顯示在屏幕上,并同時復(fù)制到另一個文件。
#include "stdio.h"
void main()
{
FILE *fp1, *fp2;
fp1 = fopen("file1.c", "r"); /* 源文件 */
fp2 = fopen("file2.c", "w"); /* 復(fù)制到file2.c */
while(!feof(fp1)) putchar(fgetc(fp1)); /* 顯示到屏幕上 */
rewind(fp1); /* fp回到開始位置 */
while(!feof(fp1)) fputc(fgetc(fp1), fp2);
fclose(fp1);
fclose(fp2);
}
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/zhangfj2001/archive/2007/05/11/1603969.aspx