可以用C ++中的C ++打印字符的ASCII代码吗?

时间:2013-05-19 18:43:37

标签: c++ c ascii printf

因为我们可以打印ASCII码并在C中递增它 - > e.g:

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

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

如何在C ++中完成?

5 个答案:

答案 0 :(得分:4)

printf将像在C ++中一样工作。但是如果你想使用cout,你只需要施放:

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

答案 1 :(得分:4)

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

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

但请注意,不能保证输出与字符'B'对应的值。如果您的执行字符集是ASCII或其他一些理智的字符集,那么它将是,但是不能保证标准中有关您的执行字符集(除了数字数字字符0到{{1}之外) },具有连续值。)

答案 2 :(得分:4)

不需要演员阵容:

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

答案 3 :(得分:2)

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

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

答案 4 :(得分:1)

接受这样一个事实:C和C ++都不坚持编码是ASCII(虽然它在桌面计算机上无处不在),但你提供的代码是有效的C ++。

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