亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 如何將無符號char數(shù)組轉(zhuǎn)為相應(yīng)字符串 [打印本頁]

作者: lion7beckham    時(shí)間: 2015-05-29 11:12
標(biāo)題: 如何將無符號char數(shù)組轉(zhuǎn)為相應(yīng)字符串
unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab},如何轉(zhuǎn)為:
char[12] = {"1232567890ab"}?
非常感謝!發(fā)現(xiàn)C之類轉(zhuǎn)換比java復(fù)雜多了。。
作者: yulihua49    時(shí)間: 2015-05-29 11:35
本帖最后由 yulihua49 于 2015-05-29 11:45 編輯
lion7beckham 發(fā)表于 2015-05-29 11:12
unsigned char src[6] = {0x12, 0x32,0x56,0x78,0x90,0xab},如何轉(zhuǎn)為:
char[12] = {"1232567890ab"}?
...

java怎么轉(zhuǎn)?

  1. char buf[sizeof(src) * 2 + 1 ];
  2. char *p=buf;
  3. for(int i=0;i<sizeof(src);i++) {
  4.       p+=sprintf(p,"%02x",255&src[i]);
  5. }
  6. printf("%s\n",buf);
復(fù)制代碼

作者: lion7beckham    時(shí)間: 2015-05-29 12:43
非常感謝!
再請教下,如果要轉(zhuǎn)成“2121658709ba”,有沒有比較方便的方法?
回復(fù) 2# yulihua49


   
作者: yulihua49    時(shí)間: 2015-05-29 15:36
lion7beckham 發(fā)表于 2015-05-29 12:43
非常感謝!
再請教下,如果要轉(zhuǎn)成“2121658709ba”,有沒有比較方便的方法?
回復(fù) 2# yulihua49

這與src里的數(shù)據(jù)有什么關(guān)系?
作者: bruceteen    時(shí)間: 2015-05-29 16:01
回復(fù) 4# yulihua49
我猜他是想高低4bits交換一下,但卻又馬虎貼錯(cuò)了 2121658709ba,應(yīng)該是 2123658709ba
  1. #include <stdio.h>

  2. int main( void )
  3. {
  4.     unsigned char src[6] = { 0x12, 0x32, 0x56, 0x78, 0x90, 0xab };
  5.     for( size_t i=0; i!=sizeof(src)/sizeof(src[0]); ++i )
  6.         printf( "%02hhx", (src[i]<<4 | src[i]>>4)&0xFF );

  7.     return 0;
  8. }
復(fù)制代碼

作者: yulihua49    時(shí)間: 2015-05-29 21:16
bruceteen 發(fā)表于 2015-05-29 16:01
回復(fù) 4# yulihua49
我猜他是想高低4bits交換一下,但卻又馬虎貼錯(cuò)了 2121658709ba,應(yīng)該是 2123658709ba

  1. (src[i]&255)>>4
復(fù)制代碼
否則有點(diǎn)玄。
作者: lion7beckham    時(shí)間: 2015-05-30 00:06
真的是你所說的,我馬虎了。。太慚愧了。。
回復(fù) 5# bruceteen


   
作者: lion7beckham    時(shí)間: 2015-05-30 00:08
非常感謝!這個(gè)最方便的看來就是移位實(shí)現(xiàn)了。簡潔高效。
yulihua49 發(fā)表于 2015-05-29 21:16
否則有點(diǎn)玄。





歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2