一个HexToInt的C/C++函数
时间: 2023-08-14 16:05:18 浏览: 33
以下是一个将十六进制字符串转换为整数的C++函数:
```cpp
int hexToInt(const char* hexStr) {
int result = 0;
int len = strlen(hexStr);
for (int i = 0; i < len; i++) {
int digit = hexStr[i];
if (digit >= '0' && digit <= '9') {
digit -= '0';
} else if (digit >= 'a' && digit <= 'f') {
digit -= 'a' - 10;
} else if (digit >= 'A' && digit <= 'F') {
digit -= 'A' - 10;
} else {
// 非法字符
return -1;
}
result = result * 16 + digit;
}
return result;
}
```
该函数接受一个十六进制字符串作为输入,并返回相应的整数值。如果输入字符串中包含非法字符,则函数返回-1。
相关问题
一个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并显示在消息框中。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)