| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 918 人关注过本帖
标题:rewind 为什么没有起到作用呢?还有一个关于fclose的问题
只看楼主 加入收藏
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:9 
rewind 为什么没有起到作用呢?还有一个关于fclose的问题
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
    FILE *out,*fp;
    char c;
    if((fp=fopen("test.txt","w"))==NULL)
    {
        printf("can't open the file.\n");
        exit(0);
    }
    while((c=getchar())!='#')
        fputc(c,fp);
    rewind(fp);
    if((out=fopen("out.txt","w"))==NULL)
            {
            printf("can't open the file.\n");
            exit(0);
            }
    while((c=fgetc(fp))!=EOF)
        fputc(c,out);
    fclose(fp);
    fclose(out);
}
这里 rewind  为什么没有起到作用呢?读取的out.txt是空文件。
程序代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
    FILE *fp;
    char a[][20]={"apple","grade","pear"},strout[20]="";
    int i;
    if((fp=fopen("f.txt","w"))==NULL)
    {
        printf("File open error!\n");
        exit(-1);
    }
    for(i=0;i<3;i++)
        fputs(a[i],fp);
    fclose(fp);//为什么这里要关闭一次  才可以?如果不关闭  直接用rewind就会出现我上面那个问题 
    if((fp=fopen("f.txt","r"))==NULL)
    {
        printf("File open error.\n");
        exit(-1);
    }
    i=0;
    while(!feof(fp))
    {
        if(fgets(strout,strlen(a[i++])+1,fp)!=NULL)
            puts(strout);
    }
    fclose(fp);
    return 0;
}请大家帮帮忙  谢谢了
2011-12-27 17:45
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:15 
可以的啊.没你所说的问题.

★★★★★为人民服务★★★★★
2011-12-27 19:58
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
收藏
得分:0 
回复 2楼 cnfarer
你是说两个都没有问题?
难道是因为编译器的原因?
2011-12-27 20:02
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
收藏
得分:0 
回复 2楼 cnfarer
我用的cygwin 和 VS调试的 在输出out.txt都是空的
2011-12-27 20:08
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
第2个

★★★★★为人民服务★★★★★
2011-12-27 20:09
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
收藏
得分:0 
那第一个的问题呢?
2011-12-27 20:11
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 4楼 滕方明
第1个只有"w"属性,只写.

★★★★★为人民服务★★★★★
2011-12-27 20:16
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
用"w+"

★★★★★为人民服务★★★★★
2011-12-27 20:20
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
收藏
得分:0 
回复 7楼 cnfarer
可是我写wr格式 也还是不对啊   那么正确的读写都能执行的是哪个?
2011-12-27 20:20
滕方明
Rank: 1
等 级:新手上路
帖 子:17
专家分:4
注 册:2011-11-19
收藏
得分:0 
回复 2楼 cnfarer
明白了   谢谢啦
2011-12-27 20:23
快速回复:rewind 为什么没有起到作用呢?还有一个关于fclose的问题
数据加载中...
 
   



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

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