| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2236 人关注过本帖
标题:fclose()函数不可用问题
只看楼主 加入收藏
凌彬严
Rank: 1
等 级:新手上路
帖 子:38
专家分:1
注 册:2009-7-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:4 
fclose()函数不可用问题
#include <stdio.h>
#include <stdlib.h>

。。。
FILE *p=NULL;
。。。
if(fclose(p)==-1)
    printf("文件关闭失败!");
else
    printf("文件关闭成功!");

。。。

VC++6.0编译通过,运行时到FCLOSE函数调用时,系统跳出程序运行错误调试提示窗!
看不出这个函数调用代码有什么问题呀?高人指点。
搜索更多相关主题的帖子: fclose 函数 
2009-09-15 13:22
shenyulv
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:166
专家分:150
注 册:2009-3-8
收藏
得分:0 
感觉和前面的代码有关系,你全部贴出来看看吧

叶的离去,是风的过错,还是树的不挽留?
2009-09-15 15:20
凌彬严
Rank: 1
等 级:新手上路
帖 子:38
专家分:1
注 册:2009-7-13
收藏
得分:0 
a1.c:
void main()
{
    char selrun;
    FILE *p;
    do
    {
        system("cls");
        printf("请选择操作:\na:进行文件操作;\nb:进行记录操作;\n\
c:进行预测评估;\nd:显示查询;\ne:退出程序。\n请选择:");
        fflush(stdin);
        //selrun=getchar();
        scanf("%c",&selrun);
        switch(selrun)
        {
            case 'a':   //文件操作
                p=filesel();   //vc6.0引用外部函数可不做声明?
                break;
            case 'b':    //记录操作
                break;
            case 'c':    //预测评估
                break;
            case 'd':    //显示查询
                break;         
            case 'e':    //退出程序
                printf("谢谢使用,再见!\n");
                exit(SUCCESS);
            default:
                {
                    printf("选择无效,请重新选择:\n");     
                }
        }
 
    }
    while(1);
                     
}

a2.c:
#include <stdio.h>
#include <stdlib.h>
 
FILE * filesel()  
{
char selrun,filename[20];
FILE *p=NULL;
    do
    {
 
        system("cls");
        printf("请选择操作:\na:创建新文件;\nb:打开一个文件;\n\
c:删除一个文件;\nd:返回上级。\n请选择:");         
        selrun=getch();   
        fflush(stdin);
        switch(selrun)
        {
        case 'a':   //文件创建
            printf("请输入文件名:\n");
            gets(filename);
            if(p=fopen(filename,"ab")!=NULL)  
            {
                printf("创建文件成功!\n");
                if(fclose(p)!=0)  
                    printf("文件关闭失败!");
                else
                    printf("文件关闭成功!");
            }
            else
                printf("创建文件失败!\n");
            getch();
            break;
        case 'b':    //打开文件
            printf("打开文件成功\n");
            getch();
            break;
        case 'c':    //删除文件
            printf("删除文件成功\n");
            getch();
            break;
                 
        case 'd':    //返加上级操作
            return p;
            
        default:
            {
            printf("选择无效,请重新选择:\n");
            }
        }
 
    }
    while(1);
}

这是源代码所有内容了.
2009-09-15 17:04
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:10 
if(p=fopen(filename,"ab")!=NULL);/* 这里少加个括号 */
收到的鲜花

努力—前进—变老—退休—入土
2009-09-15 20:33
凌彬严
Rank: 1
等 级:新手上路
帖 子:38
专家分:1
注 册:2009-7-13
收藏
得分:0 
非常感谢!的确如此.
2009-09-15 21:18
快速回复:fclose()函数不可用问题
数据加载中...
 
   



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

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