超级异能农民txt下载:这个函数什么意思nLeft = *(int*)recvText

来源:百度文库 编辑:高校问答 时间:2024/04/28 17:53:56
这个函数什么意思nLeft = *(int*)recvText

请教一下这句话什么意思??VC6.0
这是在socker网络通信中的一个执行语句,recvText定义是个char *

nLeft = *(int*)recvText

从以上代码来看
nLeft 应该是 int 型的变量
recvText是一个非int型的指针

这句话的意思是 把 recvText 指向的4个字节的内容的值赋值给nLeft

比如:
char recvText[] = { 0xFF, 0xFF, 0x00, 0x00 };
int nLeft = *( int* )recvText;

对,就是把前4个字节的大小给nLeft

nLeft = *(int*)recvText

从以上代码来看
nLeft 应该是 int 型的变量
recvText是一个非int型的指针

这句话的意思是 把 recvText 指向的4个字节的内容的值赋值给nLeft

比如:
char recvText[] = { 0xFF, 0xFF, 0x00, 0x00 };
int nLeft = *( int* )recvText;

那么 nLeft 的值应该是 0x0000FFFF 即 65535

先用(int *)将recvText这个字符型指针强制转换成整型指针,然后再用*取这个指针指向的整数值。我认为这句话可能是想取recvText的第一个字符的ASCII码。其实不用这么麻烦,直接int nLeft=recvText[0]不就行了。

不是函数是把recvText强制转换成int*类型