2017-11-09 3 views
-4

으로 변경하려면 어떻게합니까?이 C++ 프로그래밍에서는 초보자입니다. 나는이 질문에 혼란 스럽다. "const char str []"이 있으면 어떻게 정수 값으로 반환 할 수 있습니까 ??Char 숫자를 정수 값

for(int i=0; i<size; i++) 
    { 
     n = rand() % 98 + 1; 

     str [i] = n + '0'; 
    } 

str [i] = n -'0 '을해야합니까? 이 문자 숫자를 정수 값으로 반환하는 방법은 무엇입니까 ??

+3

[C++에서 문자열을 int로 구문 분석하는 방법] 가능한 복제본 (https://stackoverflow.com/questions/194465/how-to-parse-a-string-to-an-int-in- c) – Johan

+0

http://www.cplusplus.com/reference/cstdlib/strtol/ – mdewit

+0

for 루프에서 n + '0'을 수행하는 대신에 oppisite 방향을 사용하면 n - '0'이됩니다 –

답변

0

우선 str이 const char[]으로 선언되면 str의 내용이 일정 함을 의미합니다. 따라서 수정할 수 없습니다. const_cast str을 시도해 볼 수도 있지만 대개의 경우 나쁜 생각입니다.

두 번째로 당신은 단순히 int 변수에 char 변수를 지정하여 intchar을 변환 할 수 있습니다.

char c = 'a'; 
int c_value = c; 

당신은 const를-correcteness here에 대한 자세한 inforation을 찾아, 약 수 타입 캐스팅 here을.