Linux C 프로그래밍에 itoa () 함수 문제 없음
void itoa ( unsigned long val, char *buf, unsigned radix )
{
char *p; /* pointer to traverse string */
char *firstdig; /* pointer to first digit */
char temp; /* temp char */
unsigned digval; /* value of digit */
p = buf;
firstdig = p; /* save pointer to first digit */
do {
digval = (unsigned) (val % radix);
val /= radix; /* get next digit */
/* convert to ascii and store */
if (digval > 9)
*p++ = (char ) (digval - 10 + 'a '); /* a letter */
else
*p++ = (char ) (digval + '0 '); /* a digit */
} while (val > 0);
/* We now have the digit of the number in the buffer, but in reverse
order. Thus we reverse them now. */
*p-- = '\0 '; /* terminate string; p points to last digit */
do {
temp = *p;
*p = *firstdig;
*firstdig = temp; /* swap *p and *firstdig */
--p;
++firstdig; /* advance to next two digits */
} while (firstdig < p); /* repeat until halfway */
}
그러나 테스트에서 이 실현은 숫자를 난자로 변환한 것을 발견했다.비교적 간결한 방법은 sprintf () 함수로 대체하는 것이다.구체적인 코드는 다음과 같습니다.
#include
#include
int main()
{
int number = 429496729;
char string[25];
sprintf(string, "%d", number);
printf("integer = %d string = %s
", number, string);
return 0;
}
이때string은 변환된 문자열 값입니다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flatpak에 대한 또 다른 치트 시트모든 배포를 지원하며 종속성 충돌 및 기타 누락된 구성 요소의 토끼굴에서 길을 잃지 않고 즐겨 사용하는 도구의 최신 버전을 설치할 수 있습니다. 일부 앱의 경우 엄청난 시간을 절약할 수 있습니다! 사용 가능한 패키지...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.