求救:为什么用send发送CString类型的数据(在一个结构中),接收时接收不到发送的字符串 CString 可能已经被析构掉了用CString::AllocSysString()在收到并用完后用::SysFreeString() 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 进程间是可以发送结构变量的,你是用Socket还是什么?不管用的什么,大概是你的CString 用得不对,你的CString 在一个结构中大概如下struct sample{...CString abc;...}CString abc;实际上是一个指针,你把abc传到另一个地方,但只是把指针传过去,肯定到了对方就不知道指到什么地方去了,大概是这个原因引起的吧 对的,在用winsock传送数据的时候最好用 char ,因类cstring是不能确定长度的,像send(s, &str, sizoef(STR), 0); 我有一个CString的总结, 在最上方. 你仔细看看也许会知道其真正原因.我没见到你的代码. 我猜测原因是: 你并没有真正发送CString中的字串出去. 而只是发送CString中的指向串的指针的值(任何CString对象只有4个字,即一个指向串的指针). 所以导致接收方收不到的情况.模拟你的代码:struct test{ int a; CStirng str; char b;} var1;var1.a = 5;var1.str = "abc";b = 'b';...send(hSocket, &var1, sizeof(var1), 0); AfxBeginThread线程里面设置工具栏按钮错误? 在过几年,程序员笔试为打字速度 求正确的char[] 转 CString 的方法!我的程序vc报错!对不起没钱了!!拜托了!!! 关于treectrl多节点拖拽和删除的问题 用create生成的checkbox为什么一点击就会运行所在dialog的onok事件? winsock编程 来拿分啊,简单! 请问怎么去掉一个窗体的标题栏? 编程获得绑定的mac地址 一个程序的GUID 是不是随便我设定的? 我的控件不能用class wizard了。 CStatic中SetScrollRange()函数问题!
你是用Socket还是什么?
不管用的什么,大概是你的CString 用得不对,
你的CString 在一个结构中
大概如下
struct sample{
...
CString abc;
...
}
CString abc;实际上是一个指针,你把abc传到另一个地方,但只是把指针传过去,肯定到了对方就不知道指到什么地方去了,
大概是这个原因引起的吧
出去. 而只是发送CString中的指向串的指针的值(任何CString对象只有4个
字,即一个指向串的指针). 所以导致接收方收不到的情况.模拟你的代码:
struct test
{
int a;
CStirng str;
char b;
} var1;
var1.a = 5;
var1.str = "abc";
b = 'b';...
send(hSocket, &var1, sizeof(var1), 0);