我尝试了很多解决方案来将char转换为Ascii。他们都有一个问题。
一种解决方案是:
char A;
int ValeurASCII = static_cast<int>(A);但是VS提到static_cast是无效的类型转换!
PS:我的A总是一个特殊的字符(而不是数字)
发布于 2013-03-20 01:32:04
char是一种整型。当你写的时候
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'发布于 2013-03-20 00:46:50
嗯,这有什么问题:
#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;
}发布于 2013-03-20 00:43:53
您可以按原样使用字符作为单字节整数。
https://stackoverflow.com/questions/15505375
复制相似问题