今天在工作中遇到了乙個比較煩的內容,就是儲存乙個可變長度的多位元組。
本質實際就是儲存乙個可變長度的陣列,還要保留原先的位元組數目。
其實想了幾種方法,但是最終確定了一種方法,就是呼叫qbytearray乙個自己本身的方法:
qbytearray::
(const
char
*str,
int len)
;
這個函式的作用就是將某乙個數值,強制轉化為char*的型別進行儲存,並且可以設定儲存的位元組數。
在使用的時候,比如說儲存乙個整型量,並且希望保留4個位元組,則可以按照下面的形式書寫:
qbytearray arrtemp;
int idata =
999;
arrtemp.((
char*)
&idata,4)
;
//存入qbytearray
int arrints[10]
=;qbytearray array;
for(
int temp : arrints)
//還原
int arrtest[10]
;for
(inti(
0); i<
10; i++
)
上面介紹了兩種方法,本質都是記憶體的直接拷貝,如果後面發現了新的方法,就再更新。 STM32 HAL庫串列埠傳送多位元組資料
串列埠傳送16位元組資料 int16 t motorencoder uint8 t low,high high uint8 t motorencoder 8 low uint8 t motorencoder 0xff hal uart transmit huart1 low,1,0xff hal u...
C C 中各型別資料所佔位元組數
ref 和機器字長及編譯器有關係 所以,int,long int,short int的寬度都可能隨編譯器而異。但有幾條鐵定的原則 ansi iso制訂的 1.sizeof short int sizeof int 2.sizeof int sizeof long int 3.short int至少應...
C C 中位元組陣列與int型別轉換
1.c 中int和byte轉換 把int32型別的資料轉存到4個位元組的byte陣列中 int32型別的資料 4個位元組大小的byte陣列 public static bool convertinttobytearray int32 m,ref byte arry 把byte陣列中的前4個位元組轉換...