字符的ASCII码可以像在C语言中那样在c++中打印吗?

Can ASCII code for a char be printed in C++ like in C?

本文关键字:c++ 打印 语言 ASCII 字符      更新时间:2023-10-16

因为我们可以打印ASCII码并在C中增加它——>如:

{
char ch='A';
ch++;
printf("%d",ch); 
}

这将在控制台上输出"66"。

如何在c++中做到这一点?

是的,在输出之前将其转换为int,这样它就不会被解释为字符:

char ch = 'A';
ch++;
std::cout << static_cast<int>(ch);
但是,请注意,这并不能保证输出与字符'B'对应的值。如果您的执行字符集是ASCII或其他相同的字符集,那么它将是,但是标准不能保证您的执行字符集(除了数字字符,09具有连续的值)。

printf将像c++中的那样工作。但是如果你想使用cout,你只需要强制转换:

char ch = 'A';
ch++;
std::cout << static_cast<int>(ch);

无需强制转换:

{
char ch='A';
ch++;
std::cout << ch << ": " << +ch << 'n';
}

在c++中也可以这样做:

{
char ch='A';
ch++;
printf("%d",ch); 
}

接受C和c++都不坚持编码是ASCII(尽管它在桌面计算机上无处不在)这一事实,您提供的代码是有效的c++。

在许多方面(尽管不是全部),c++是C的超集。