string strTest("1234567");
u_short usTest = htons(strTest.length());
char strBuf[256];
memset(strBuf,'\0',256);
memcpy(strBuf,&usTest,sizeof(u_short));//这里为什么总是不能拷贝进去值,如果不使用htons变换,却是正常的,why?
strcat(strBuf,strTest.c_str()); //这里是正确的
很郁闷
最新回复
你看一下内存,第二个字节应该是7,表示长度。
我使用 printf("%s\n", (char*)strBuf);
或者cout<<strBuf<<endl;都无法正确显示该值?
如果要输出,可以使用输出16进制的参数来进行处理。