繁体   English   中英

可以像在C中一样在C ++中打印字符的ASCII码吗?

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

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

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

这将在控制台上输出“ 66”。

如何在C ++中完成?

printf将像在C ++中那样工作。 但是,如果要使用coutcout需要强制转换:

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

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

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

但是请注意,不能保证输出与字符'B'相对应的值。 如果您的执行字符集是ASCII或其他合理的字符集,那么它将是,但是从标准上不能保证您的执行字符集(数字字符09除外,具有连续值)。

无需演员:

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

可以用C ++完全相同的方式完成:

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

接受C和C ++都不坚持使用ASCII 编码这一事实(尽管在台式机上无处不在),您提供的代码是有效的C ++。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM