c裡面十六進位制怎麼轉換為字串

2021-03-04 05:18:32 字數 4833 閱讀 8671

1樓:匿名使用者

函式itoa()。

大多數的編譯器(如windows上的)通常在/標頭檔案中包含這個函式。

char*itoa(int value,char*string,int radix);

int value 被轉換的整數

char *string 轉換後儲存的字元陣列int radix 轉換進製數,如2,8,10,16 進製等

c++,16進製制轉化問題,字串轉化成數字

2樓:匿名使用者

方法1:

#include

int main()

主要用到sscanf這個庫函式:

函式名: sscanf

功 能: 執行從字串中的格式化輸入

用 法: int sscanf(char *string, char *format[,argument,...]); //%x就是我們要格式化的型別,即輸出十六進位制

方法2:

#include

#include //strtol標頭檔案

int main()

主要用到strtol這個庫函式,它的使用方法是:

函式名: strtol

功 能: 將串轉換為長整數

用 法: long strtol(char *str, char **endptr, int base);//base指明我們要轉換為幾進製數

3樓:匿名使用者

不明你什麼意思,能再清晰地描述一下嗎?

怎麼把十六進位制的數字轉換為字串

4樓:匿名使用者

不知道你要什麼語言的,這是c#,十六進位制轉中文

////// 從16進製制轉換成漢字

///////// 編碼,如"utf-8","gb2312"

///public static string unhex(string hex, string charset)

// 需要將 hex 轉換成 byte 陣列。

byte bytes = new byte[hex.length / 2];

for (int i = 0; i < bytes.length; i++)

catch

}system.text.encoding chs = system.text.encoding.getencoding(charset);

return chs.getstring(bytes);}

5樓:

程式設計——字串——數值/字串轉換——十六進位制數字字串至數值轉換

c++ 字串與16進製制字串之間的轉換 20

6樓:會飛的小兔子

staticintstr_to_hex(char*string,unsignedchar*cbuf,intlen)

return0;

函式名稱:hex_to_str

函式功能:十六進位制

轉字串

輸入引數:ptr字串buf十六進位制len十六進位制字串的長度。

輸出引數:無

staticvoidhex_to_str(char*ptr,unsignedchar*buf,intlen)

}擴充套件資料

byte陣列轉十六進位制字串

publicstaticstringbytearraytohexstring(byteb)

if(inttmp<16)

}returnsb.tostring().touppercase();}

7樓:匿名使用者

#typedef unsinged char byte;

#include

#include

#include

std::vectorstr_to_hex(const std::string& str)

return vec;

}另乙個反過來自己寫吧!

8樓:匿名使用者

參考這裡

c++中 如何將整數轉換成十六進位制的字串

9樓:匿名使用者

1、首先開啟vc6.0, 新建乙個專案。

2、新增標頭檔案。

3、新增main主函式。

4、定義無符號char型別變數str,strh。

5、定義int變數i,j。

6、將str字元轉換為十六進位制並新增到strh中。

7、使用printf列印即可。

10樓:匿名使用者

用字串流就可以。

#include

#include

std::string dec2hex(int i, int width)

如按下面呼叫

std::cout << dec2hex(25, 4);

輸出0019

11樓:1002nd夜

沒說清楚是控制台輸出還是返回字串啊。

我就寫輸出到控制台吧。

int outputdec2hex(int dec, int bits)

sprintf(outputformat,"%%0%dx\n", bits);

printf(outputformat,dec);

return 0;}

12樓:潘寅傑

itoa,最後乙個引數寫16

c++,中怎麼樣將字串,轉化為十六進位制?? 用什麼函式??

13樓:匿名使用者

你是要把字串以16進製制的形式列印出來嗎?

下面可以實現:

char c = "abcdefg123456";

char *p = c;

for(int i=0; c[i]!='\0'; i++)

14樓:匿名使用者

沒有現成的系統函式可用,自己編寫吧。

假定字串是'0』~'9'的阿拉伯數字組成的,即字串是十進位制數字的組合,那麼可將該串轉換為十進位製數,再以0x格式輸出概述即可。

#include

unsigned atol(char *s)return num;

}int main()

"12908766" = (12908766) = 0xc4f8de"1a87655.6" = (1876556) = 0x1ca24cpress any key to continue

15樓:知道高高手無敵

char a="a6756";

int m;

m=hexstr(a);

int hexstr(char *m)

return d;

}字串主要用於程式設計,概念說明、函式解釋、用法詳述見正文,這裡補充兩點:1.free pascal中的ansistring只能看成整體,很多函式無法使用,就算是提取單個元素也很麻煩,所以除非萬不得已就不要用;2.

字串在儲存上類似字元陣列,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j",而字串的零位正是它的長度,如s[0]=10(※上述功能ansistring沒有。)

16樓:匿名使用者

沒有函式只能自己程式設計實現

c++ 十六進位制字串 轉字串,求高手指點 50

17樓:做而論道

sprintf(ptr, "%02x",buf[i]);

試試這樣:

sprintf(ptr, "%02x",buf + i);

18樓:匿名使用者

char *output=""; 指向的是靜態儲存區域,不能更改其內容,不能作為sprintf的第乙個引數。

還是new一下或者用陣列吧

另外,關於這個函式的作用沒太看明白。

c++中怎麼樣把字串轉化為16進製製數

19樓:

#include

#include

using namespace std;

char getcharbyvalue(int value)string tohex(string str)return hex;

}int main(int argc, char *argv)

20樓:匿名使用者

char buf[512] = ;

char* src = "***puter";

file* f = fopen("save.txt", "w");

for(int i = 0; i < strlen(src); i++)

fwrite(buf, strlen(buf), 1, f);

fclose(f);

21樓:網路工程哥

#include

{char ch;

cin>>ch;

cout.sef(ios::hex);

cout<<"hex:"<

怎麼把十六進位制的數字轉換為字串

不知道你要什麼語言的,這是c 十六進位制轉中文 從16進製制轉換成漢字 編碼,如 utf 8 gb2312 public static string unhex string hex,string charset 需要將 hex 轉換成 byte 陣列。byte bytes new byte hex...

怎樣把十進位制資料轉換為十六進位制字串

include include define max 30 main 的定義 int main void 給你整個過程,你自己看 好像直接有庫函式sprintf x i c語言將乙個十進位制的整數轉換成十六進位制的字串 要轉成字串來 其實不需自要自己寫多少程式bai 借用sprintf就可以du了c...

十六進位制1AF6轉換為十進位制等於

第一種方法 先要把16進製制轉化成2進製 1af6 0001 1010 1111 0110 再把2進製轉化成10進製 0001 1010 1111 0110 1 2 1 1 2 2 1 2 4 1 2 5 1 2 6 1 2 7 1 2 9 1 2 11 1 2 12 2 4 16 32 64 12...