怎么获取char数组;最后4位的值

如何获取char数组;最后4位的值


memcpy(&temp, &m_buf[m_index], sizeof(int));

如何将上面的m_buf 的后4位  也就是最后一个int数字的值 拷贝的 temp中啊;;; 
C++

------解决方案--------------------
memcpy(&temp, m_buf + sizeof(m_buf) - sizeof(int), sizeof(int));
------解决方案--------------------
temp = m_buf[m_index] & 16;
------解决方案--------------------
引用:
memcpy(&temp, &m_buf[m_index], sizeof(int));

如何将上面的m_buf 的后4位  也就是最后一个int数字的值 拷贝的 temp中啊;;; 
              
                  C++

楼上的思想是正确的,但实现有些问题,首先m_buf+1的值依赖于m_buf的类型,如果类型为int,那么m_buf+1指针将偏移4个字节。所以以上代码在m_buf类型为char或者byte时有效,如果m_buf类型为int,需要修改为如下格式:memcpy(&temp, m_buf + (sizeof(m_buf)/sizeof(int) - 1), sizeof(int)); 
------解决方案--------------------
引用:
memcpy(&temp, m_buf + sizeof(m_buf) - sizeof(int), sizeof(int));



memcpy(&temp, m_buf + (sizeof(m_buf) /sizeof(int))-1, sizeof(int));
 


------解决方案--------------------
位和字节不是一回事!