我尝试了很多将字符转换为 Ascii 的解决方案。他们都有一个问题。
一种解决方案是:
char A;
int ValeurASCII = static_cast<int>(A);
但是VS提到static_cast是无效的类型转换!!!
PS:我的 A 始终是特殊字符之一(而不是数字)
我尝试了很多将字符转换为 Ascii 的解决方案。他们都有一个问题。
一种解决方案是:
char A;
int ValeurASCII = static_cast<int>(A);
但是VS提到static_cast是无效的类型转换!!!
PS:我的 A 始终是特殊字符之一(而不是数字)
Achar
是整数类型。当你写
char ch = 'A';
您将值设置为ch
编译器用来表示字符的任何数字'A'
。这通常是'A'
这些天的 ASCII 代码,但这不是必需的。您几乎可以肯定使用的是使用 ASCII 的系统。
像任何数字类型一样,您可以使用普通数字对其进行初始化:
char ch = 13;
如果您想对一个char
值进行算术运算,只需执行以下操作:ch = ch + 1;
等等。
但是,为了显示值,您必须绕过 iostreams 库中的假设,即您希望将char
值显示为字符而不是数字。有几种方法可以做到这一点。
std::cout << +ch << '\n';
std::cout << int(ch) << '\n'
嗯,这有什么问题:
#include <iostream>
using namespace std;
int main(int, char **)
{
char c = 'A';
int x = c; // Look ma! No cast!
cout << "The character '" << c << "' has an ASCII code of " << x << endl;
return 0;
}
You can use chars as is as single byte integers.