C語言16進製制字串轉數字

2021-10-03 10:36:54 字數 494 閱讀 1185

詳解c/c++中十六進製制字串轉數字(數值)

主要有兩個方法,其實都是對現有函式的使用:

方法1: sscanf()

函式名: sscanf

功 能: 從字串格式化輸入

用 法: int sscanf(char string, char format[,argument,…]);

以上的 format 為 %x 就是將字串格式化為 16 進製數

例子:#include

void main()

輸出:26

方法2: strtol()

函式名: strtol

功 能: 將字串轉換為長整數

用 法: long strtol(char *str, char endptr, int base);

上面的base就是我們要轉換為幾進製數

例子:#include

#include

void main()

輸出:27

字串轉16進製制數字

網上關於字串轉數字的資料比較散亂,說什麼的都有,為了方便自己記憶在這裡記錄一下。標準c方法 char strhex 0xff long lvalue strtol strhex,null,16 類似的還有strtod 將字串轉換成浮點數 strtoul 將字串轉換成無符號長整型數 如果不要求必須轉為...

16進製制轉字串 字串轉16進製制

16進製制轉字串 void hextostr char pbdest,char pbsrc,int nlen pbdest nlen 2 0 字串轉16進製制 void strtohex char pbdest,char pbsrc,int nlen 一 將陣列轉換為十六進製製同值的字串 讀取陣列中...

16進製制的字串轉數值函式

在工控領域,裝置間通訊經常會將數值轉換為ascii形式進行傳輸,其將每個位元組資料分為高4位和低4位,分別將其值轉換為對應的asc碼,比如數值108,對應的16進製為6c,那麼編碼就是轉換為2個位元組的編碼 0x36 0x43 分別為6和c的ascii碼 比較典型的有modbus協議,該協議就有一種...