C++ ASCII Dec到C+中的字符+;
我想在普通字符中获取ASCII的每个字符。如果我只输入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
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我想不要再解释了,他没有仔细查看或运行您的代码。这样做后,他会看到您的代码是正确的。