void main(void) { char *endptr; char str[] = "aaaa"; unsigned long num = strtoul(str, &endptr, 16); cout << num << endl; }
프로그램 실행화면
unsigned long strtoul(const char *nptr, char **endptr, int base);
문자 또는 문자열을 숫자로 바꾸어 주는 함수이다. 다른 함수와는 달리 부호 없는 unsigned long 타입으로 반환하여 준다.
첫 번째 인자는 숫자로 변환하고자 하는 문자 또는 문자열을 넣어 주면 된다. 두번째 인자는 문자열을 숫자로 변환하는 도중 애러가 발생할 수 있다.
한글이라던지 변환할 수 없는 값이 넘어갈 경우 애러가 발생하는데 애러가 발생한 주소값이 저장된다.
마지막으로 base는 첫 번째 인자로 넘겨오느 문자열이 몇 진수인지 알려주는 인자이다. 위의 프로그램은 16진수 문자열 'aaa'를 10진수로 전화하는 프로그램이다.