打印

指针赋值问题

[复制链接]
994|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
baidudz|  楼主 | 2012-8-21 18:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
编写了一个接口
int GetHcNum(char* HCNUM){

char* tmp= "12345";
strcpy(HCNUM,tmp);
MessageBox(NULL,HCNUM,"提示",MB_OK);
return 0;
}

别人调用这个接口,HCNUM是别人传进来的一个地址,然后让我赋值,他再获取这个值

现在情况是这样的,别人能正常进入这个函数,
MessageBox能正常弹出 12345,
但是我这个方法return以后,
他调用的地方再去获取 HCNUM的值的时候 还是空(他们调用和获取的方法是没问题的,这个可以确定)。

我用C#做WINFORM来调用测试,也能弹出框,不过接着就会提示“尝试读取或写入受保护的内存...”

不知道问题出在哪?

相关帖子

沙发
火箭球迷| | 2012-8-21 18:50 | 只看该作者
首先,你要确定,你写的不是变量而是指针
字符是变量,字符串一定是指针,指向第一个字符

strcpy是复制后一个字符串到前一个,该操作会一直进行直到源字符串中遇到空结尾

既然msgbox能够正确输出字符,那便说明字符串一定正确!!

“他们”只能获得空字符说明他们错了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

239

主题

2284

帖子

0

粉丝