字符串转16进制函数
时间: 2023-08-14 18:12:23 浏览: 164
字符串转16进制
4星 · 用户满意度95%
字符串转16进制的函数可以使用sscanf函数或者strtol函数来实现。
使用sscanf函数的示例代码如下:
```c
#include <stdio.h>
int main() {
char *str = "0xaa";
int num;
sscanf(str, "%x", &num);
printf("转换结果:%d\n", num);
return 0;
}
```
在这个示例中,我们将字符串"0xaa"转换为16进制数,并将结果存储在变量num中。通过使用"%x"作为格式化字符串,sscanf函数会将字符串按照16进制格式进行解析,并将结果存储在num中。
另一种方法是使用strtol函数,示例代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
char *str = "0xaa";
char *endptr;
int num = strtol(str, &endptr, 16);
printf("转换结果:%d\n", num);
return 0;
}
```
在这个示例中,我们使用strtol函数将字符串"0xaa"转换为16进制数。通过将第二个参数设置为指向endptr的指针,我们可以获取到转换过程中的错误信息或者未转换的部分。
无论是使用sscanf函数还是strtol函数,都可以实现字符串转16进制的功能。具体选择哪种方法取决于你的需求和编程习惯。
#### 引用[.reference_title]
- *1* *2* *3* [将字符串转换成16进制函数](https://blog.csdn.net/weixin_50268209/article/details/130976453)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文