c++로 짜고있는데요

string id = "9999991321333" // 주민등록번호
int gob[12] = {2,3,4,5,6,7,8,9,2,3,4,5};
sum = 0;


 for( i = 0 ; i < 12 ; i++ )
 {
         sum += id[i] * gob[i];
 }


id가 string이라 int형으로 형변환 할려고 하는데요

atoi() 함수랑 istringstream() 함수를 이용해서 형변환을 시키는거같은데 이상하게 제대로 동작을 안하네요 ㅠㅠ

형님들의 조언좀 부탁드립니다