7

char を Ascii に変換するために多くのソリューションを試しました。そして、それらのすべてに問題があります。

1つの解決策は次のとおりです。

char A;
int ValeurASCII = static_cast<int>(A);

しかし、VSは static_cast が無効な型変換であることを述べています!!!

PS:私のAは常に特殊文字の1つです(数字ではありません)

4

3 に答える 3

13

Acharは一体型です。あなたが書くとき

char ch = 'A';

chの値を、コンパイラが文字を表すために使用する数値に設定しています'A''A'これは通常、最近の ASCII コードですが、必須ではありません。ほとんどの場合、ASCII を使用するシステムを使用しています。

数値型と同様に、通常の数値で初期化できます。

char ch = 13;

値に対して算術演算を行いたい場合はchar、それを実行してください:ch = ch + 1;など。

charただし、値を表示するには、数値ではなく文字として値を表示するという iostream ライブラリの前提を回避する必要があります。それにはいくつかの方法があります。

std::cout << +ch << '\n';
std::cout << int(ch) << '\n'
于 2013-03-19T17:32:03.997 に答える
7

ええと、これの何が問題になっていますか:

#include <iostream>

using namespace std;

int main(int, char **)
{
    char c = 'A';

    int x = c; // Look ma! No cast!

    cout << "The character '" << c << "' has an ASCII code of " << x << endl;

    return 0;
}
于 2013-03-19T16:46:50.243 に答える
0

chars は 1 バイト整数としてそのまま使用できます。

于 2013-03-19T16:43:52.657 に答える