인프런 커뮤니티 질문&답변

pa zar님의 프로필 이미지
pa zar

작성한 질문수

홍정모의 따라하며 배우는 C언어

3.6 정수의 오버플로우

stdlib.h를 추가했는데 _itoa()함수가 불분명하다고 뜨네요 뭐가 잘못된걸까요..

작성

·

1.3K

1

아래와 같이 코드를 입력하여서 빌드하는 과정에서 

warning : implicit declaration of function '_itoa' undefined reference to '_itoa'라는 워닝 문구가 뜹니다. 

어떤것 때문에 이런 문제가 생기는 건지 궁금합니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
#include <limits.h>

int main()
{	
	unsigned int u_max = UINT_MAX + 1;
	
	// i to binary representation
	char buffer[33];
	_itoa(u_max, buffer, 2);
	
	// print decimal and binary
	printf("decimal: %u\n", u_max);
	printf("binary: %s\n", buffer);
	
	return 0;
}

답변 1

0

atoi 는 non-standard function 이기 때문에 어떤 C standard library 에서는 존재하지 않을 수 있습니다. 때문에 그런 warning이 발생한 것으로 생각됩니다. 관련 내용을 아래에서 보실 수 있습니다. 해결하시려면 직접 itoa를 정의하는 것이 하나의 방법이 될 수 있는데, 이도 일러주고 있습니다.
https://en.wikibooks.org/wiki/C_Programming/stdlib.h/itoa

pa zar님의 프로필 이미지
pa zar

작성한 질문수

질문하기