开发者

C++ Char array conversion to Hex or char array

I would appreciate for some C++ expertize advice on this please. I have a Char array

     <unsigned char ch1[100];> 

data (ASCII code) gets filled in this ( max 6 or 8 array spaces and rest is empty). I want to process val开发者_开发知识库id bits in the array only either converting them to Hex or again Char array. I tried

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

but all garbage values are also copied..... :(

       <strcpy gives me an error>

also number of bytes copied are dynamic ( 1 time :- 4; 2 time :- 6.....)


Do you know how many valid bytes do you have in your array? If yes, you can pass that number in as the 3rd argument of memcpy.

Otherwise you can zero-initialize the array and use strcpy which will stop on the first zero:

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 ...


So only copy the chars that are actually initialized. You as a programmer are responsible for tracking what's initialized and what's not.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜