| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 550 人关注过本帖
标题:文件指针能不能做函数的参数?
只看楼主 加入收藏
lyjdyq
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-12-28
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:5 
文件指针能不能做函数的参数?
本人初学者,写了一个c程序,调用函数的时候把文件指针作为了一个函数的参数,运行的时候就出错了,后来没有调用函数,直接把程序写到主函数里面就好了!
搜索更多相关主题的帖子: c程序 
2013-12-28 17:42
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:4 
能,上代码吧

总有那身价贱的人给作业贴回复完整的代码
2013-12-28 17:50
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:4 
程序代码:
#include <stdio.h> 

void fun(FILE **fpp)
{
    fclose(*fpp);
}
int main() 
{
    FILE *fp = fopen("test.txt", "w");
    return 0;
} 

                                         
===========深入<----------------->浅出============
2013-12-28 17:55
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
stdio.h 中对FILE的定义
程序代码:
#ifndef _FILE_DEFINED
struct _iobuf {
        char *_ptr;
        int   _cnt;
        char *_base;
        int   _flag;
        int   _file;
        int   _charbuf;
        int   _bufsiz;
        char *_tmpfname;
        };
typedef struct _iobuf FILE;
#define _FILE_DEFINED
#endif

                                         
===========深入<----------------->浅出============
2013-12-28 17:57
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:4 
回复 4楼 laoyang103
呵呵,老杨好久不见!

重剑无锋,大巧不工
2013-12-28 18:07
lyjdyq
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2013-12-28
收藏
得分:0 
我把程序又换回函数调用,莫名其妙又好了!可能是我修改了一些小的位置吧。原来提示的是esp值出错!
这是我的代码,指导一下
#include<stdio.h>
void main()
{
    void one();
    void two(FILE *p);
    FILE *mimazz;
    if((mimazz=fopen("naijnewamim","rb"))==NULL)
        one();
    else
        two(mimazz);
}
void one()
{
    FILE *mimaz;
    char mima[15];
    char w;
    int i=0;
    printf("初始化密码\n");
    printf("请输入最多10位字符或数字作为您的密码:\n");
back:gets(mima);
    while(mima[i]!='\0')
        i+=1;
    if(i>10)
    {
        printf("输入错误,请重新输入:\n");
        i=0;
        goto back;
    }
    w=i+48;
    if((mimaz=fopen("naijnewamim","wb"))==NULL)
        printf("初始化失败,请重启软件\n");
    fputc(w,mimaz);
    if(fwrite(mima,i+1,1,mimaz)!=1)
        printf("初始化失败,请重启软件\n");
    fclose(mimaz);
    printf("初始化软件完成\n");
}
void two(FILE *p)
{
    int bijiao(char *bj,char *f);
    char mima[11]={'a'};
    char mimadb[15]={'a'};
    char *dw;
    char *dn;
    char w;
    int w1,j,i=0;
    w=fgetc(p);
    w1=w;w1=w1-48;
    while(i<w1)
    {
        mima[i]=fgetc(p);
        i+=1;
    }
    fclose(p);
    dn=mima;
    while(j!=2)
    {
        printf("请输入密码:\n");
        gets(mimadb);
        dw=mimadb;
        j=bijiao(dw,dn);
    }
}

int bijiao(char *bj,char *f)
{
    int m=0,n=2;
    char zj;
    while((m<10)&&(*f!='\0'))
    {
        zj=(*f);
        if(*bj!=zj)
        {
            n=3;
            break;
        }
        bj+=1;
        f+=1;
        m+=1;
    }
    if(*bj!='\0')
        n=3;
    return(n);
}
2013-12-28 20:26
快速回复:文件指针能不能做函数的参数?
数据加载中...
 
   



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

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