STRTOD(3)

명칭
strtod - ASCII 캐릭터 라인을 double 에 변환

프로그램 라이브러리
libc

서식
<stdlib.h> double strtod(const char *nptr, char **endptr)

해설
strtod() 함수는, nptr 하지만 가리키는 캐릭터 라인의 최초의 부분을 double 에 의한 표현으로 변환합니다.

캐릭터 라인에 상정되는 형태는, 옵션의 플러스 (``+'') 또는 마이너스 (``-'') 기호, 계속되어 숫자의 줄 (이것은 옵션으로 소수점 캐릭터를 포함합니다), 옵션으로 지수가 계속된다고 하는 것입니다. 지수는, ``E''또는 ``e''에 옵션으로 플러스 또는 마이너스 기호가 계속되어, 한층 더 숫자의 줄이 계속된다고 하는 형태입니다.

캐릭터 라인의 선두의 공백 캐릭터 (isspace(3) 함수에 의해 정의되는 것 같은)는 스킵 합니다.

반환값
strtod() 함수는, 어떤 때라도 변환된 값을 돌려줍니다.

endptr 하지만 NULL (이)가 아닌 경우는, 변환에 사용된 마지막 캐릭터의 다음의 캐릭터에의 포인터가, endptr 에 의해 참조되는 장소에 격납됩니다.

변환을 하지 않았던 경우는 0 이 돌려주어 nptr 의 값은 endptr 에 의해 참조되는 장소에 격납됩니다.

올바른 값이 오버플로우가 된다고 생각될 때는, (그 값의 부호에 따라) 플러스 또는 마이너스의 HUGE_VAL 하지만 돌려주어 ERANGE 하지만 errno 에 보존됩니다. 올바른 값이 언더 플로우(underflow)가 된다고 생각될 때는, 0 이 돌려주어 ERANGE 하지만 errno 에 보존됩니다.

에러

[ERANGE]
    오버플로우 또는 언더 플로우(underflow)가 일어났습니다.

참조
atof(3), atoi(3), atol(3), strtol(3), strtoul(3)

표준
strtod() 함수는, isoC 에 적합하고 있습니다.

저자
이 소프트웨어의 저자는 David M. Gay 입니다.

Copyright (c) 1991 by AT&T.

본소프트웨어의 카피나 수정판, 또는 그것들을 포함한 소프트웨어 의 모든 카피, 및 그러한 소프트웨어의 서포트 문서 의 모든 카피에 이 설명서 전체가 포함되어 있는 것을 조건으로서 이 소프트웨어를 무료로 모든 목적으로 사용해, 카피해, 수정해, 배포하는 것을 여기에 허락합니다.

본소프트웨어는, 어떠한 명시적 또는 암묵적인 프로텍션없이, 「그대로의 형태」로 제공되고 있습니다. 특히, 저자 혹은 AT&T 는, 본소프트웨어의 상품성 또는 특정의 목적에 대한 적합성에 관한 설명 또는 프로텍션을 일절 실시하지 않습니다.

strtod() 및 거기에 부수 하는 함수의 원시 코드의 무료 카피 입수에 대해서는, 벤더에 연락해 주세요.