2012-11-18 4 views
-2

문자 배열의 단일 색인에 단일 정수를 저장하려고합니다. 이 경우 itoa 기능이 작동하지 않습니다. 누구든지 도와 줄 수 있습니까? 당신이 문자 값으로 정수를 사용하여 배열에 넣어하려는 것을 의미하는 경우, 당신은 당신이 한 자리 수의 값을 작성하려는 의미하는 경우문자 배열의 단일 색인에 정수를 저장하는 방법은 무엇입니까?

+0

"단일 색인에서 단일 정수"란 무엇을 의미합니까? –

+0

문자 배열의 단일 * 요소 *에? – peterph

+0

문자 배열의 단일 요소에 예. int num; char arr [10]; arr [0] = num; 하지만 올바른 값을 얻지 못하고 있습니다 .. – Salman

답변

7

후 그냥

array[index] = number; 

입니다 다음 배열의 특정 인덱스,

if (number >= 0 && number < 10) { 
    array[index] = '0' + number; 
} else { 
    // not representable by a single digit 
} 

UPDATE로 : 귀하의 의견에서, 이것은 당신이 원하는 아마.

숫자에 대한 십진수 표현을 배열 (하나가 아닌 여러 문자 요소 포함)에 쓰고 싶다면 itoa을 사용하면 안되며 비표준이고 위험합니다. snprintf 더 안전하게 것을 할 수있다 :이 C이기 때문에 당신이 당신을 위해 메모리를 관리하고 배열을 보장하기 위해 std::string을 사용할 수 있습니다, ++,

if (snprintf(array, array_size, "%d", number) >= array_size) { 
    // the array was too small 
} 

을하거나하는 것은 큰 충분하다 :

std::string string = std::to_string(number); 

또는 경우 구식 C++ 라이브러리가 붙어 있습니다.

std::ostringstream ss; 
ss << number; 
std::string string = n.str(); 

다른 것이 있으면 의미를 명확히하십시오.

관련 문제