读书人

FILE指针做参数有关问题

发布时间: 2012-03-29 12:53:13 作者: rapoo

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了,怎么办

读书人网 >C语言

热点推荐