[C] int값을 array에 저장하기...

vimania의 이미지

6자리 int 값을 char array[6]에 어떻게 넣을 수 있나요?

예를 들면

char array_a[6] = {1, 2, 3, 4, 5, 6};
char array_b[6];
int temp = atoi(array_a);
temp = temp +14;

array_a 에 들어 있는 숫자 값을 int 로 바꾸고 temp에 저장하고
temp값에 14를 더해서 array_b에 넣고 싶습니다.

그럼
array_b[0] = 1
array_b[1] = 2
array_b[2] = 3
array_b[3] = 4
array_b[4] = 7
array_b[5] = 0

이렇게 들어가겠죠.
어찌하면 좋을까요?

김동수의 이미지

char array_a[6] = {'1', '2', '3', '4', '5', '6'};
이라는 가정 하에 단순히 숫자를 배열에 구겨 넣으려면
snprintf(array_b, 6, "%06d", temp);
라고 하면 되겠지요.

char array_a[6] = {1, 2, 3, 4, 5, 6};
이런 형식이라면.. for문으로 step당 10곱하면서 계속 더해 나가서 숫자를 뽑던지...
하여간 temp 까지 계산은 알아서 하시면 되고..
snprintf 로 배열에 값을 써 넣은 후..
for문으로 한바퀴 더 돌면서 각 배열의 원소에서 0x30씩 빼주면 되겠네요.

-------------------------------------
김동수 - PublicEnemy

김동수 - Prototype for Evolution