读书人

小妹再交C++转C#遇到有关问题

发布时间: 2013-10-10 14:14:51 作者: rapoo

小妹再交求助,C++转C#遇到问题。
感谢前2天小妹发贴后,得到朋友的解答。因为小妹刚学C#,是新手。希望园里有朋友帮助解决一下。
也是上次的问题,测试后结果不一样的。不知什么回事。

C++

CString strSend="abc测试测试";

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);

}

改成C#

String strSend="abc测试测试";
byte[] byteSend = Encoding.ASCII.GetBytes(strSend);

senddata(byteSend, strSend.Length);

protected int senddata(byte[] buf, int num)//此方法转成C#不对
{

byte[] sendbuf = new byte[num+1];
buf.CopyTo(sendbuf, 0);
sendbuf[num] = (byte)'\n';
// return SSL_writego(ssl, sendbuf, num+1);

return 0;//只是测试
}

结果中sendbuf 是不一样的 请问C#如何修改?
[解决办法]
Encoding.ASCII.GetBytes
可能是编码
小妹 我C#想转C++呢- -
[解决办法]
看不懂c++的,帮顶
[解决办法]
看不懂的路过
[解决办法]
String?strSend="abc测试测试";
?byte[]?byteSend?=?Encoding.ASCII.GetBytes(strSend);

ASCII 只支持英文半角,支持中文要用
?byte[]?byteSend?=?Encoding.UTF8.GetBytes(strSend);

[解决办法]
Encoding.UTF8.GetBytes();
[解决办法]
Encoding.UTF8.GetBytes();
或这个
Encoding.GetEncoding("gb2312").GetBytes();
试试

读书人网 >C#

热点推荐