rewind函數:使文件fp的位置指針指向文件開始
原型:void rewind(FILE *fp)
文件指針FILE *fp中,包含一個讀寫位置指針char *_nextc,它指向下一次文件讀寫的位置。
typedef struct
{
int _fd; /* 文件號 */
int _cleft; /* 緩沖區中剩下的字節數 */
int _mode; /* 文件操作模式 */
char * _nextc; /* 下一個字節的位置 */
char * _buff; /*文件緩沖區位置 */
}FILE;
當文件剛打開或創建時,該指針指向文件的開始位置。每當進行一次讀寫后,該指針自動指向下一次讀寫的位置。
可以用函數ftell()獲得當前的位置指針,也可以用rewind()/fseek()函數改變位置指針,使其指向需要
讀寫的位置。
1 例:把一個文件的內容顯示在屏幕上,並同時復制到另一個文件。 2 3 #include "stdio.h" 4 void main() 5 { 6 FILE *fp1, *fp2; 7 fp1 = fopen("file1.c", "r"); /* 源文件 */ 8 fp2 = fopen("file2.c", "w"); /* 復制到file2.c */ 9 while(!feof(fp1)) putchar(fgetc(fp1)); /* 顯示到屏幕上 */ 10 rewind(fp1); /* fp回到開始位置 */ 11 while(!feof(fp1)) fputc(fgetc(fp1), fp2); 12 fclose(fp1); 13 fclose(fp2); 14 }
摘自:http://blog.csdn.net/zhangfj2001/article/details/1603969