| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 623 人关注过本帖
标题:实在不知道问题出在哪,请大家帮我看看
取消只看楼主 加入收藏
ujszmc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-26
结帖率:100%
收藏
 问题点数:0 回复次数:3 
实在不知道问题出在哪,请大家帮我看看
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(void)
{
    FILE *f1;
    char *f2;
    char s[100];
    long length;
    char mode;

    if ((f1 = fopen("infomation.txt", "r+")) == NULL)
    {
        printf("Can't open file.\n");
        exit(EXIT_FAILURE);
    }
    fseek(f1, 0, SEEK_END);
    length = ftell(f1);
    f2 = (char*)malloc(sizeof(char)*length);

    rewind(f1);
    while (fgets(s, 100, f1) != NULL)
    {
        printf("%s\n", s);
        printf("d or c or u?\n");
        if ((mode = getchar()) == 'u')
            strcat(f2, s);
        else if (mode == 'c')
        {
            printf("Enter new information.\n");
            fgets(s, 100, stdin);
            strcat(f2, s);
        }
        else if (mode == 'd')
            continue;
        while (getchar() != '\n');
    }

    printf("success.\n");    //第一个success可以显示
    if (fclose(f1) != 0)
    {
        printf("Close failed.\n");
        exit(EXIT_FAILURE);
    }
    printf("success.\n");  //第二个success不可以显示
    if ((f1 = fopen("infomation.txt", "w+")) == NULL)
    {
        printf("Can't open file.\n");
        exit(EXIT_FAILURE);
    }
    fputs(f2, f1);
    fclose(f1);
    return 0;
}

我觉得问题可能出在fclose(f1);但是,实在看不出来有什么问题
图片附件: 游客没有浏览图片的权限,请 登录注册


[ 本帖最后由 ujszmc 于 2015-5-13 11:23 编辑 ]
搜索更多相关主题的帖子: include file 
2015-05-13 11:15
ujszmc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-26
收藏
得分:0 
回复 2楼 wp231957
infomation.rar (493 Bytes)

这就是我自己随便写的一个文件
2015-05-13 11:57
ujszmc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-26
收藏
得分:0 
回复 4楼 rjsp
初学c,水平有限,让你见笑了。
这个程序目的是从文件information.txt中一行一行读取内容,然后显示到屏幕上并询问用户删除(d)该行,不变(u),还是改变(c)该行内容。
我不想创建临时文件,所以想了这么个办法,先存到f2指向的内存中,然后在输出到原文件中。
既然,strcat(f2,s);不能用,那还有什办法把数据追加到f2指向的内存中呢?
2015-05-13 18:32
ujszmc
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2015-4-26
收藏
得分:0 
回复 5楼 wp231957
目是什么?菜鸟不懂
2015-05-13 18:34
快速回复:实在不知道问题出在哪,请大家帮我看看
数据加载中...
 
   



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

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