簡體   English   中英

C ++ Char數組轉換為Hex或char數組

[英]C++ Char array conversion to Hex or char array

對於此方面的一些C ++專業知識建議,我將不勝感激。 我有一個字符數組

     <unsigned char ch1[100];> 

數據(ASCII代碼)將被填充到其中(最多6或8個數組空間,其余為空)。 我只想將數組中的有效位轉換為十六進制或再次將其轉換為Char數組。 我試過了

     <memcpy (ch1,ch2,sizeof(ch1))>

但是所有垃圾值也會被復制..... :(

       <strcpy gives me an error>

復制的字節數也是動態的(1次:-4; 2次:-6 .....)

因此,僅復制實際初始化的字符。 作為程序員, 負責跟蹤初始化的內容和未初始化的內容。

您知道數組中有多少個有效字節嗎? 如果是,則可以將該數字作為memcpy的第三個參數傳遞。

否則,您可以對數組進行零初始化並使用strcpy,它將在第一個零處停止:

char ch1[100];
// zero out the array so we'll know where to stop copying
memset(ch1, 0, sizeof(ch1));

... data gets filled here ....

strcpy (ch2, ch1);
// zero out array again so we'll catch the next characters that come in
memset(ch1, 0, sizeof(ch1));

... life goes on ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM