strtoll 함수

long long strtoll(const char * nptr,char **endptr,int base); 정수로 구성한 문자열로 long long 형식 값을 구함

입력 매개 변수 리스트

nptr 문자열

endptr 실수를 계산한 다음 위치의 문자열

base 진수

반환 값

정수로 구성한 문자열을 계산한 long long 형식 값

strtoll 함수는 정수로 구성한 문자열을 계산하여 long long 형식 값을 반환합니다. 그리고 계산할 수 없는 문자를 발견하면 두 번째 입력 인자로 받은 endptr이 가리키는 곳에 설정합니다. 특히 세번째 인자로 진수를 선택하면 문자열의 정수를 입력한 진수 체계로 판단하여 계산합니다.

사용 예

//C언어 표준 라이브러리 함수 가이드
//long long strtoll(const char * nptr,char **endptr,int base); 정수로 구성한 문자열로 long long 형식 값을 구함
//문자열의 정수를 원하는 진수 체계의 정수로 계산하여 출력

#include <stdlib.h>
#include <stdio.h>

int main(void)
{
    char src[100] = "1234567890 123456789abcdef 16 100111111111111110000001100111110011110";
    char *pos = NULL;
    long long value1 = 0, value2 = 0, value3 = 0, value4 = 0;

    value1 = strtoll(src, &pos, 10);//10진수로 계산
    value2 = strtoll(pos, &pos, 16);//16진수로 계산
    value3 = strtoll(pos, &pos, 8);//8진수로 계산
    value4 = strtoll(pos, &pos, 2); //2진수로 계산
    printf("%lld %lld %lld %lld\n", value1, value2, value3, value4);

    return 0;
}

출력

1234567890 81985529216486895 14 343593242526