前提知識
string c = "1"; int n = c[0] - '0';
-'0' で c の一文字目が char から int になる。
1から9までを足す
string s = "123456789";
int l = N.length();
int total = 0;
for(int i=0;i<l;i++){
total += N[i] - '0';
cout << total << endl;
}
実行結果
1 3 6 10 15 21 28 36 45
そのまま数字にしたい場合
string s = "123456789";
int l = N.length();
int total = 0;
for(int i=0;i<l;i++){
total = total * 10 + N[i] - '0';
cout << total << endl;
}
簡単な関数化
int stringtoint(string s){
int l = s.size();
int total = 0;
for(int i=0;i<l;i++){
total = total*10 + s[i] - '0';
}
return total;
}
stoi() ではエラーがでたりするのでこっちのほうが楽かも。
結局知識が足りない。