将任意字母转化为ASCII码对应的数据?

img


输入任意一个字母,转换成对应的ASCII码数据值,为什么不能用'letter',但是用'A'就可以得到数据,怎样用letter表示任意值?

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    cin >> noskipws;
    char ch;
    while (cin >> ch)
    {
        if (isprint(ch))
            cout << ' ' << ch;
        else
            cout << '^' << static_cast<char>('@' + ch);
        cout << setw(4) << static_cast<int>(ch) << endl;
    }
    return 0;
}

ASCII Caret Notation
https://en.wikipedia.org/wiki/ASCII#Control_code_chart

单引号表示字符类型,只能有1个字符,多个字符就要用双引号,也就是字符串。

cout <<letter-0;