카테고리 없음

[C언어] 문자를 숫자로 - strtoul()

s뽈록이s 2013. 6. 20. 18:55
void main(void)
{
	char *endptr;
	char str[] = "aaaa";

	unsigned long num = strtoul(str, &endptr, 16);
	printf("%ld\n", num);
}

프로그램 실행화면


unsigned long strtoul(const char *nptr, char **endptr, int base);


문자 또는 문자열을 숫자로 바꾸어 주는 함수이다. 다른 함수와는 달리 부호 없는 unsigned long 타입으로 반환하여 준다.


첫 번째 인자는 숫자로 변환하고자 하는 문자 또는 문자열을 넣어 주면 된다. 두번째 인자는 문자열을 숫자로 변환하는 도중 애러가 발생할 수 있다.


한글이라던지 변환할 수 없는 값이 넘어갈 경우 애러가 발생하는데 애러가 발생한 주소값이 저장된다.


마지막으로 base는 첫 번째 인자로 넘겨오느 문자열이 몇 진수인지 알려주는 인자이다. 위의 프로그램은 16진수 문자열 'aaa'를 10진수로 전화하는 프로그램이다.