新手请教关于xdr问题
想用xdr传输数据,不过函数xdrmem_create就是用不明白,查了联机帮助还是不懂,下面是我写的代码,请大家指点。
#include <rpc/xdr.h>
void main(){
char *buf;
buf="this is a test";
XDR *xdrs;
xdrmem_create(xdrs,buf,strlen(buf),XDR_ENCODE);
}
编译没有什么问题,可是执行时提示“段错误”,这是怎么回事?我试过将函数调用改成xdrmem_create(xdrs,buf,strlen(buf)+1,XDR_ENCODE);问题仍存在,也是说“段错误”。
大家指点一下吧,谢谢了先!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
复制代码
[ 本帖最后由 wolf0403 于 2006-9-6 01:55 编辑 ]
char buf="this is a test";
这个有问题吧。。
不能改变。
只是猜测,没用过xdr
>>
>>
>>建议buf的赋值最好不要这样写,最好指定大小再赋值。
>>建议增加#include <string.h>
>>建议检查g++的版本是否是你要的版本,有人说有的g++版本会有这个问题,好像是个bug
>>
>>