我想将char转换为ASCII int值。
我可以使用所有可能的值填充数组并与之进行比较,但对我来说似乎不对。我想要像
这样的东西char mychar = "k"
public int ASCItranslate(char c)
return c
ASCItranslate(k) // >> Should return 107 as that is the ASCII value of 'k'.
点atoi()
在这里不起作用,因为它仅适用于可读数字。
它不会对空格做任何事情(ASCII 32)。
答案 0 :(得分:15)
这样做:
int(k)
你只是将char直接转换为int,不需要函数调用。
答案 1 :(得分:6)
char
已经是一个数字。它不需要任何转换,因为ASCII只是从数字到字符表示的映射。
如果您愿意,可以直接将其用作数字,或者将其投射。
答案 2 :(得分:2)
在C ++中,您还可以使用static_cast<int>(k)
来明确转换。
答案 3 :(得分:0)
#include <iostream>
char mychar = 'k';
int ASCIItranslate(char ch) {
return ch;
}
int main() {
std::cout << ASCIItranslage(mychar);
return 0;
}
这是您修复了各种语法错误的原始代码。假设你正在使用一个使用ASCII的编译器(这几天几乎每一个都是这样),它就可以了。为什么你认为这是错的?
答案 4 :(得分:0)
要从 ASCII字符转换为 ASCII值:
int a=67;
cout<<char(a);
要从 ASCII值转换为 ASCII字符:
mMap.clear();
答案 5 :(得分:-2)
这样做: -
char mychar = 'k';
public int ASCItranslate(char c)
return int(c);
ASCItranslate(k); // >> should return 107 as that is the ascii value of k