예전에 테스트용 예제만들어 놓은게 있네요.
참고만하세요.
#include <stdio.h>
#define MAX_STR_LEN 20
int Int2ThousandSepStr(int fa, char retstr[MAX_STR_LEN])
{
char tmp[MAX_STR_LEN], tmp1[MAX_STR_LEN]; // 내부처리 버퍼
int l,i,j,s; // 길이, 반복변수, 처리된길이, 부호플래그
l = sprintf(tmp, "%d", fa);
if (fa < 0) s= 1; else s = 0; // - 음수처리
if (l > 0) {
for (j=0,i=l-1;i>=0;i--) {
tmp1[j++] = tmp[i];
if (((l-i) % 3 == 0) && (i > s)) tmp1[j++] = ',';
}
tmp1[j] = 0;
for (i=0;i<j;i++) retstr[i] = tmp1[j-i-1];
retstr[j] = 0;
return 1;
}
else {
return 0;
}
}
void main() {
int i;
char result[MAX_STR_LEN];
printf("Enter integer number: ");
scanf("%d", &i);
printf("Result: ");
if ( Int2ThousandSepStr(i, result) )
puts(result);
else
puts("Not a valid number.");
}