首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C++中的代码 在C#中怎么表达?小妹

2013-10-01 
C++中的代码在C#中如何表达?小妹在线等CString strSend XXXXXBBBBBBBBBBBBBBBBBBint lensenddata(str

C++中的代码 在C#中如何表达?小妹在线等
CString strSend ="XXXXXBBBBBBBBBBBBBBBBBB";
int len=senddata(strSend.GetBuffer(strSend.GetLength()),strSend.GetLength());

int CVC6ClientDlg::senddata(char * buf,int num)
{
    char sendbuf[512];
memcpy(sendbuf,buf,num);
    sendbuf[num]='\n';
return SSL_writego(ssl, sendbuf, num+1);
   
}

GetBuffer在C#是如何表达?感谢
[解决办法]
Encoding GetBytes
[解决办法]
一般来说,没有必要 care 什么 c++ 代码。

你应该用c#根据需求来重写这种“三脚猫”的几行代码,不用再去纠结什么c++代码。
[解决办法]
同意sp1234的观点,之所以C++使用GetBuffer,是因为便于在对象生存周期结束的时候释放内存的需要。这本身对于托管程序来说是不需要的。字符串完全可以放在托管堆上,让CLR去管理。
[解决办法]
不同意sp1234的观点,小妹很明显是c#新手,既然人家要解决方法,就应该直接把完整的功能代码发上去,例子见多了,自然也就会用了。
[解决办法]


String strSend ="XXXXXBBBBBBBBBBBBBBBBBB";
byte[] buffer=Encoding.GetEncoding("utf-8").GetBytes(strSend );

[解决办法]
有些 C++ 里面的繁琐代码,比如 copy string 之类的,在 C# 里面一句话就搞定了。主要是 SSL_writego 之类的方法,如果可以重写成 C# 就重写,不能的话,就得用 C# 的 API 去引用 C++ 的这些方法。

热点排行