首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

FILE指针做参数有关问题

2012-03-29 
FILE指针做参数问题C/C++ codeint OpenFile(FILE *fp,char *FileName,char *mod){if (FileName NULL){r

FILE指针做参数问题

C/C++ code
int OpenFile(FILE *fp,char *FileName,char *mod){        if (FileName == NULL)    {        return -1;    }    if ((fp = fopen(FileName,mod)) == NULL)    {        printf("error\n");        return FILE_OPEN_ERROR;    }    else    {        return 0;    }    }。。。。。。int main(int arg,char *arv[]){    FILE *fp = {0};    OpenFile(fp,"D:\\settings.txt","rb+");    GetIntVal(fp,NULL,NULL);    CloseFile(fp);    return 0;}


OpenFile运行成功,且fp有效,但由OpenFile返回之后fp为0,为什么?要保持住OpenFile之后的fp怎么做?

[解决办法]
你用引用指针就行了···
你那样传参也是拷贝一个指针。所以不形参的改变不影响实参···
[解决办法]
fp 虽然存的是地址,但本身还是变量,你直接传递变量名,就是形参传递。利用地址传递吧
[解决办法]
可以把指针返回···
探讨

引用:
你用引用指针就行了···
你那样传参也是拷贝一个指针。所以不形参的改变不影响实参···


如果用纯C了,怎么办

[解决办法]
探讨
可以把指针返回···

引用:

引用:
你用引用指针就行了···
你那样传参也是拷贝一个指针。所以不形参的改变不影响实参···


如果用纯C了,怎么办

热点排行