如何显示一个char的数字

Mat*_*ake 2 c++ ascii char

我有一个我想要显示的多维字符数组.其中一个维度中有数字(0,1,2等).当我去显示数组时,我得到了ascii结果.我意识到char输出按定义工作(char + number = ascii),但我希望专门显示数字.

防爆.

Char a = 3;

cout << a; // gives me #
Run Code Online (Sandbox Code Playgroud)

我想显示3.我尝试过转换为int: cout << (int)a;

我已经尝试在数组内部进行转换 myArray[(int)a];

这些似乎都不起作用,你不能转换const char成一个string所以我有点失落.任何帮助将不胜感激.

Sin*_*all 5

假设你有

char a = 3;
Run Code Online (Sandbox Code Playgroud)

现在你可以:

std::cout << static_cast<int>(a);
Run Code Online (Sandbox Code Playgroud)

要么

int b = a;
std::cout << b;
Run Code Online (Sandbox Code Playgroud)

要么

printf("%d",a);
Run Code Online (Sandbox Code Playgroud)

以上任何一项的输出都是

3
Run Code Online (Sandbox Code Playgroud)

  • 或者`std :: cout << + a` (7认同)