我尝试将string
个字符转换为ASCII int
值。但是我无法在string
中为一个角色工作。输入' H'时我会得到72的结果,但它会返回0(对于我尝试过的每个角色都是如此)。
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int main()
{
string a;
cin >> a;
const char * b = a.c_str();
int c = atoi(b);
cout << int(c) << endl;
}
提前致谢。
答案 0 :(得分:1)
atoi
解析C字符串,将其内容解释为整数,即
int i = atoi("123"); // i = 123
您不希望这样:您想知道输入字符串的每个字符的ASCII值。要解决这个问题,您可以使用以下代码段:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
cin >> a;
for(int c: a)
cout << c << '\n';
}
答案 1 :(得分:0)
我不太熟悉string
库,只需键入:
cout<<(int)a[pozition];
你可以把它放在像这样的地方。
for(int i=0;i<a.length();i++)
cout<<(int)a[i]<<endl;
答案 2 :(得分:0)
您可以将每个字符转换为int
#include <iostream>
#include <string>
using namespace std;
int main()
{
string a;
cin >> a;
for (int i = 0; i < a.length(); i++) {
cout << (int) a[i] << endl;
}
}