一个HexToInt的C/C++函数
时间: 2023-08-14 13:04:59 浏览: 65
以下是一个将十六进制字符串转换为整数的C++函数实现:
```c++
#include <string>
#include <iostream>
#include <sstream>
#include <iomanip>
int hexToInt(std::string hexStr) {
// 使用 stringstream 将十六进制字符串转换为整数
std::stringstream ss;
ss << std::hex << hexStr;
int result;
ss >> result;
return result;
}
int main() {
std::string hexStr = "1a";
std::cout << hexToInt(hexStr) << std::endl; // 输出:26
return 0;
}
```
该函数使用 `std::stringstream` 将十六进制字符串转换为整数,然后返回结果。在上面的示例中,`hexToInt` 函数将十六进制字符串 "1a" 转换为整数 26,然后输出到控制台。
相关问题
一个HexToInt的C函数
下面是一个将十六进制字符串转换为整数的C函数:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int hexToInt(char *hexStr) {
int len = strlen(hexStr);
int result = 0;
int base = 1;
int i;
// 从右到左遍历十六进制字符串
for (i = len - 1; i >= 0; i--) {
if (isxdigit(hexStr[i])) {
// 如果是数字或字母,则转换为对应的十进制整数
if (isdigit(hexStr[i])) {
result += (hexStr[i] - '0') * base;
} else {
result += (toupper(hexStr[i]) - 'A' + 10) * base;
}
base *= 16; // 更新基数
} else {
// 如果出现非法字符,则返回0
return 0;
}
}
return result;
}
```
该函数首先遍历十六进制字符串,从右往左依次处理每个字符并转换为对应的十进制整数。如果遇到非法字符,函数会返回0。
delphi HexToInt
Delphi中的HexToInt函数可以将一个十六进制字符串转换为整数。函数的声明如下:
```delphi
function HexToInt(const S: string): Integer;
```
其中,S为要转换的十六进制字符串,返回值为转换后的整数。下面是一个示例:
```delphi
var
HexStr: string;
IntValue: Integer;
begin
HexStr := 'FF';
IntValue := HexToInt(HexStr);
ShowMessage(IntToStr(IntValue)); // 输出 255
end;
```
在上面的示例中,将十六进制字符串'FF'转换为整数255并显示在消息框中。