2016-10-30 35 views
0

有沒有正確的方法來增加大端字節格式的uint8字符串? 比如我有:C:正確增加uint8大端字符串

uint8 test[] = {0,0,0,1}; 

test[3]++; //works 

而且還莫名其妙地以這種方式可能的類型轉換的增量?

*test = (uint32) *test+1; //doesnt work... Only the first test[0] will be incremented... 

謝謝。

回答

0

如何:

((uint32_t*)test)++; 

但是,這仍然工作在本地字節順序。

如果你在網絡順序緩存,你應該這樣做:

uint32_t *p = (uint32_t*)test; 
uint32_t temp = ntohl(*p); 
temp++; 
*p = htonl(temp);