문자열의 n 번째 문자를 숫자로 변환하려면 어떻게해야합니까? 나는 긴 숫자를 문자열로 표현하고 배열을 만들고 싶습니다. 각 문자는 개별 숫자입니다. 다음 코드를 시도해 보았습니다.문자열의 n 번째 문자를
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string str ="73167176531330624919225119674426574742355349194934969835203127745063262395783180169848018";
int ints[1000] = {0};
for (int i = 0; i < str.size(); i++)
{
istringstream ss(str[i]);
ss >> ints[i];
}
cout << ints[9] << endl;
return 0;
}
하지만 작동하지 않습니다.
입니다. 고맙습니다. "- '0'"이하는 일을 설명해 주시겠습니까? – user1626154
'1'은 49이지만 '1'- '0'은 간단한 수학 빼기이고 'ASCII'(http://www.asciitable.com/index/asciifull.gif)에서는 '0' 49 - 48'로 표시되며 결과는 1입니다. 다른 모든 숫자에도 동일하게 적용됩니다. – jweyrich
@ user1626154 숫자의 ASCII 표현을 10 진수 표현식으로 변환합니다. '0'은 십진수에서 48이므로 '0'을 빼면 십진수 값 0이 나오며 다른 자릿수도 계속 이어집니다. – DaV