C++ ASCII Dec到C+中的字符+;

C++ ASCII Dec到C+中的字符+;,c++,C++,我想在普通字符中获取ASCII的每个字符。如果我只输入char键,它将返回dec 我的请求: char alph = //ascii dec to normal char 例如:12月的A是65 注意:我没有字符,但我有dec中的ASCII码,如65。您似乎误解了这个概念 数值总是存在的。是将其打印为字母还是数字取决于打印方式 cout将字符打印为字母(也称为字符),因此需要将其转换为另一个整数类型来打印值 char c = 'a'; cout << c << endl

我想在普通字符中获取ASCII的每个字符。如果我只输入
char键
,它将返回dec

我的请求:

char alph = //ascii dec to normal char
例如:12月的A是65
注意:我没有字符,但我有dec中的ASCII码,如65。

您似乎误解了这个概念

数值总是存在的。是将其打印为字母还是数字取决于打印方式

cout将字符打印为字母(也称为字符),因此需要将其转换为另一个整数类型来打印值

char c = 'a';
cout << c << endl;             // Prints a
cout << (uint32_t)c << endl;   // Prints 97

cout << endl;

uint32_t i=98;
cout << i << endl;
cout << (char)i << endl;

看来你误解了这个概念

数值总是存在的。是将其打印为字母还是数字取决于打印方式

cout将字符打印为字母(也称为字符),因此需要将其转换为另一个整数类型来打印值

char c = 'a';
cout << c << endl;             // Prints a
cout << (uint32_t)c << endl;   // Prints 97

cout << endl;

uint32_t i=98;
cout << i << endl;
cout << (char)i << endl;

因为我需要像65这样的用户输入

在这种情况下,您可以执行以下操作:

#include <iostream>

using namespace std;

int main() {
    int code;
    cout << "Enter a char code:" << endl;
    cin >> code;

    char char_from_code = code;
    cout << char_from_code << endl;

    return 0;
}

因为我需要像65这样的用户输入

在这种情况下,您可以执行以下操作:

#include <iostream>

using namespace std;

int main() {
    int code;
    cout << "Enter a char code:" << endl;
    cin >> code;

    char char_from_code = code;
    cout << char_from_code << endl;

    return 0;
}

这是一种非常简单的方法,只需制作自己的用户界面即可获得输入
dec

#包括
使用名称空间std;
int main(){
int-dec=65;

cout这是一种方法,非常简单,然后只需制作自己的用户界面即可获得输入
dec

#包括
使用名称空间std;
int main(){
int-dec=65;

cout看起来您需要hex/unhex转换器。请参阅boost,或使用此自行车:

vector<unsigned char> dec2bin( const string& _hex )
{
    vector<unsigned char> ret;

    if( _hex.size() < 2 )
    {
        return ret;
    }

    for( size_t i = 0; i <= _hex.size() - 2; i += 2 )
    {
        string two = string( _hex.data() + i, 2 );
        stringstream ss( two );
        string ttt = ss.str();
        int tmp;
        ss >> /*hex >>*/ tmp;
        unsigned char c = (unsigned char)tmp;
        ret.insert( ret.end(), c );
     }

     return ret;
 }

 int main()
 {  
     string a = "65";
     unsigned char c = dec2bin( a )[0];
     cout << (char)c << endl;
     return 0;
 }
向量dec2bin(常量字符串和十六进制) { 向量ret; 如果(_hex.size()<2) { 返回ret; } 对于(尺寸i=0;i>/*十六进制>>*/tmp; 无符号字符c=(无符号字符)tmp; 反向插入(反向结束(),c); } 返回ret; } int main() { 字符串a=“65”; 无符号字符c=dec2bin(a)[0];
cout看起来您需要hex/unhex转换器。请参阅boost,或使用此自行车:

vector<unsigned char> dec2bin( const string& _hex )
{
    vector<unsigned char> ret;

    if( _hex.size() < 2 )
    {
        return ret;
    }

    for( size_t i = 0; i <= _hex.size() - 2; i += 2 )
    {
        string two = string( _hex.data() + i, 2 );
        stringstream ss( two );
        string ttt = ss.str();
        int tmp;
        ss >> /*hex >>*/ tmp;
        unsigned char c = (unsigned char)tmp;
        ret.insert( ret.end(), c );
     }

     return ret;
 }

 int main()
 {  
     string a = "65";
     unsigned char c = dec2bin( a )[0];
     cout << (char)c << endl;
     return 0;
 }
向量dec2bin(常量字符串和十六进制) { 向量ret; 如果(_hex.size()<2) { 返回ret; } 对于(尺寸i=0;i>/*十六进制>>*/tmp; 无符号字符c=(无符号字符)tmp; 反向插入(反向结束(),c); } 返回ret; } int main() { 字符串a=“65”; 无符号字符c=dec2bin(a)[0];

很好:
char alph=97;
。虽然这是
'a'
,而不是
'a'
65
),但您假设您的环境是基于ASCII的,这不一定是这样。什么是普通字符?值已经是一个数字。这只是如何打印它的问题。因为我需要像65(a)这样的用户输入,我还需要转换后的ascii来知道它们(用户)使用的是哪个字母
WriteLog(toupper('A'如果我只是把
而不是
alph
放在
char键上,这个特殊的代码将不起作用;
将返回
65
,用户输入是:char alph=97;
。虽然这是
'A'
,但不是
'A'
65
),您假设您的环境基于ASCII,但不一定如此。什么是普通字符?该值已经是一个数字。这只是您如何打印它的问题。因为我需要用户输入,如65(a),我还需要转换后的ASCII,以知道他们(用户)使用的是什么字母
WriteLog(toupper('A'如果我只是将
而不是
alph
放在
char键上,这个特定的代码将不起作用;
将返回
65
是用户输入,根据我的情况,我没有字符(例如:A)但我有ascii码dec@KhairoulIkhwan-您当然也可以从整数值开始执行相同的操作-参见updatewell,根据我的情况,我没有字符(示例:a)但我有ascii码dec@KhairoulIkhwan-您当然也可以从整数值开始执行相同的操作-请参阅updateSORRY,我的意思是我需要像A这样的普通字符,但我没有。我只有ASCII形式的用户输入dec@KhairoulIkhwan上面的代码是您真正想要的,您仔细看过了吗。@KhairoulIkhwan:在这个例子中,用户输入65,程序理解它的意思是“A”。正如我在另一条评论中所说,请注意,这假设您的环境(操作系统、编译器等)是基于ASCII的。@mikedu95我想不要再解释了,他没有仔细查看或运行你的代码。这样做后,他会看到你的代码是正确的。对不起,我的意思是我需要像A这样的普通字符,但我没有。我只有用户输入的ASCII码dec@KhairoulIkhwan上面的代码是你真正想要的,你看过吗谨慎。@KhairoulIkhwan:在本例中,用户输入65,程序理解它的意思是“A”。正如我在另一篇评论中所说,请注意,这假设您的环境(操作系统、编译器等)是基于ASCII的。@mikedu95我想不要再解释了,他没有仔细查看或运行您的代码。这样做后,他会看到您的代码是正确的。