您的位置:程序门 -> vc/mfc -> 进程/线程/dll



传 string 数组参数到dll的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


传 string 数组参数到dll的问题[已结贴,结贴人:suprwx]
发表于:2007-02-01 15:30:10 楼主
mapdll.dll中有一个函数
int   __stdcall   map(string   arr[])
{
        string   temp[]   =   { "yes ",   "no "};
        arr[0]   =   "yes ";         //   right
        arr[0]   =   temp[0];     //   error
}
exe中:
string   arr[]   =   { "no ",   "yes "};
.....
error的那种赋值方式会报错,请指点,谢谢!
发表于:2007-02-01 15:59:251楼 得分:2
包含了:
      #include   "string.h "
    吗?
发表于:2007-02-01 16:13:482楼 得分:0
包含了
    #include   <string>

赋值字符串常量没问题
可能是跟   exe   中的内存分配   和   dll   中的内存分配有关系
发表于:2007-02-03 15:09:163楼 得分:2
为什么不用   strcpy   呢?
发表于:2007-02-03 22:04:114楼 得分:12
string   temp[]   =   { "yes ",   "no "};
        arr[0]   =   "yes ";         //   right
        arr[0]   =   temp[0].c_str();   //   此处有修改

是此处的temp数组的析构造成的,用c_str()直接调用string   的operator=().
发表于:2007-02-03 23:16:355楼 得分:2
那种方式只能用于char*
发表于:2007-02-04 00:26:236楼 得分:0

to:   superlym2005()
        你说这种方法是对的,但你的解释我还不是很理解,什么时间有空的话,麻烦解释详细点好吗?谢谢!
发表于:2007-02-04 10:29:067楼 得分:2
用std,   还把函数名字改成   map,
出错都是活该
发表于:2007-02-05 00:38:238楼 得分:0
to:   iicup(双杯献酒)   (   )  
          哥们很细心呀,骂的好,呵呵。


快速检索

最新资讯
热门点击