国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CString轉十六進制數字

2019-11-08 18:41:51
字體:
來源:轉載
供稿:網友

借用strtol函數可以直接將一個CString對象轉化為任意數制的整數。

比如:

CString st = "20";int n = strtol(st,NULL,16);

strtol函數原型:

long int strtol(const char *nptr,char **endptr,int base);

參數base范圍從2至36,或0。參數base代表采用的進制方式,如base值為10則采用10進制,若base值為16則采用16進制等。當base值為0時則是采用10進制做轉換,但遇到如’0x’前置字符則會使用16進制做轉換、遇到’0’前置字符而不是’0x’的時候會使用8進制做轉換。一開始strtol()會掃描參數nptr字符串,跳過前面的空格字符,直到遇上數字或正負符號才開始做轉換,再遇到非數字或字符串結束時('/0')結束轉換,并將結果返回。若參數endptr不為NULL,則會將遇到不合條件而終止的nptr中的字符指針由endptr返回;若參數endptr為NULL,則會不返回非法字符串。1.不僅可以識別十進制整數,還可以識別其它進制的整數,取決于base參數,比如strtol("0XDEADbeE~~", NULL, 16)返回0xdeadbee的值,strtol("0777~~", NULL, 8)返回0777的值。2.endptr是一個傳出參數,函數返回時指向后面未被識別的第一個字符。例如char *pos; strtol("123abc", &pos, 10);,strtol返回123,pos指向字符串中的字母a。如果字符串開頭沒有可識別的整數,例如char *pos; strtol("ABCabc", &pos, 10);,則strtol返回0,pos指向字符串開頭,可以據此判斷這種出錯的情況,而這是atoi處理不了的。3.如果字符串中的整數值超出long int的表示范圍(上溢或下溢),則strtol返回它所能表示的最大(或最小)整數,并設置errno為ERANGE,例如strtol("0XDEADbeef~~", NULL, 16)返回0x7fffffff并設置errno為ERANGE


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴仁县| 栖霞市| 石屏县| 重庆市| 桓台县| 五台县| 罗甸县| 长岭县| 内江市| 余姚市| 南涧| 桐庐县| 青州市| 顺义区| 拜城县| 文山县| 甘肃省| 本溪| 璧山县| 赣州市| 高淳县| 吐鲁番市| 南涧| 临汾市| 镇江市| 泸西县| 同德县| 晋城| 凤台县| 乌拉特前旗| 达拉特旗| 扶绥县| 确山县| 肥城市| 溆浦县| 平和县| 蒲城县| 平顺县| 兴安盟| 敖汉旗| 油尖旺区|