大佬教程收集整理的这篇文章主要介绍了在C中将一个int存储在char缓冲区中,然后检索它,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
要放长长度值,我需要将一个整数值分成一个字节,并将其存储在缓冲区中以通过套接字发送.我可以将整数分成四部分,但在加入时我无法检索正确的值.为了演示我的问题,我编写了一个示例程序,我将int分为四个字符变量,然后再加入另一个整数.目标是加入后我应该得到相同的结果.
这是我的小程序.
#include <stdio.h> int main () { int inVal = 0,outVal =0; char buf[5] = {0}; inVal = 67502978; printf ("inVal: %d\n",inVal); buf[0] = inVal & 0xff; buf[1] = (inVal >> 8) & 0xff; buf[2] = (inVal >> 16) & 0xff; buf[3] = (inVal >> 24) & 0xff; outVal = buf[3]; outVal = outVal << 8; outVal |= buf[2]; outVal = outVal << 8; outVal |= buf[1]; outVal = outVal << 8; outVal |= buf[0]; printf ("outVal: %d\n",outVal); return 0; }
产量
inVal:67502978
outVal:-126
我究竟做错了什么?
以上是大佬教程为你收集整理的在C中将一个int存储在char缓冲区中,然后检索它全部内容,希望文章能够帮你解决在C中将一个int存储在char缓冲区中,然后检索它所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。