C#调用C++DLL,OUT问题.

s99u99 2015-03-30 08:27:50

C#
[DllImport(@"Request.dll", EntryPoint = "SendRequest", CharSet=CharSet.Auto)]
public static extern int SendRequest(bool ispost, String httpurl, StringBuilder sHeaderSend, StringBuilder sHeaderReceive, StringBuilder sMessage);

string t = SendRequest(false, "http://www.baidu.com", sb1, sb2, sb3).ToString();

C++
TESTCPPDLL_API int __stdcall SendRequest(bool IsPost, LPCSTR url2, OUT LPSTR psHeaderSend,OUT LPSTR psHeaderReceive,OUT LPSTR psMessage)
{
psHeaderSend= req.headerSend; //req是一个结构
}

C#里面的sb1,sb2,sb3.都是空,但在C++里面对应的变更都有值,请问C++里面如何使用OUT
...全文
241 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
s99u99 2015-03-31
  • 打赏
  • 举报
回复
引用 1 楼 Forty2 的回复:
strncpy (psHeaderSend, req.headerSend, psHeadser的最大长度 );
strncpy(psMessage,req.message,100); 好像也不行
s99u99 2015-03-31
  • 打赏
  • 举报
回复
引用 2 楼 xian_wwq 的回复:
stringbuilder 在使用之前有没有分配合适的空间?
有分配
xian_wwq 2015-03-31
  • 打赏
  • 举报
回复
stringbuilder 在使用之前有没有分配合适的空间?
Forty2 2015-03-31
  • 打赏
  • 举报
回复
strncpy (psHeaderSend, req.headerSend, psHeadser的最大长度 );

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧