标题:为什么要使用rewind()?
只看楼主
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
结帖率:91.67%
已结贴  问题点数:20 回复次数:2 
为什么要使用rewind()?
#include<stdio.h>
#include<stdlib.h>
#define MAX 40
int main(){
    FILE *fp;
    char words[MAX];
   
    if((fp = fopen("words","a+")) == NULL){
        fprintf(stdout,"Can't open \"words\" file.\n");
        exit(0);
    }
   
    puts("Enter words to add to the fiie: press the Enter.");
    puts("key at the beginning of a line to terminate.");
    while(gets(words) != NULL && words[0] != '\0'){
        fprintf(fp,"%s",words);
    }
    puts("File contents:");
    rewind(fp);
    while(fscanf(fp,"%s",words) == 1){
        puts(words);
    }
    if(fclose(fp) != 0)
        fprintf(stderr,"Error closing file.\n");
    return 0;
}

请问在这段代码中,为什么要使用rewind(),我想知道哪里改变了指针的指向位置了,谢谢.
搜索更多相关主题的帖子: beginning contents include Enter file 
2016-01-01 14:36
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:20 
所有向文件輸出的動作都會更改文件指示器的位置,就如在屏幕上輸出一樣,“遊標”是自動的。你前面使用了fprintf(),要回頭從前面讀起,就需要重新定位文件指示器。

授人以渔,不授人以鱼。
2016-01-01 14:40
kevin_c
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2015-10-15
得分:0 
回复 2楼 TonyDeng
哦,好的,谢谢
2016-01-01 16:18



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-460734-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.662839 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved