카테고리 없음
[C++] 문자를 실수로 - strtod()
s뽈록이s
2014. 5. 2. 10:17
void main(void) { double num; char *endptr; num = strtod("2.13", &endptr); cout << "num = " << num << endl; num = strtod("-4.12e4", &endptr); cout << "num = " << num << endl; }
프로그램 실행화면
double strtod(const char *nptr, char **endptr);
문자 또는 문자열을 실수록 변환해 주는 함수이다. 첫 번째 인자는 변활할 문자열을 전달할 인자이며 두 번째 인자는 만약 변환하다 애러가 발생하면 애러가 발생한 지점의 주소값을 알려주기 위한 인자이다.
atof()함수와의 차이점이라면 애러가 발생했을 때 어떻게 동작하느냐이다. atof()함수는 애러가 발생하면 애러가 발생하기 전까지 변환한 값만을 return해 준다.
strtod()함수는 애러가 발생하기 전까지 변환한 값만을 return해 주고 그 애러 지점의 주소를 endptr인자로 전달해 준다. 사용하기 편한 것은 atof()함수가 더 편하다. 인자가 하나밖에 없으니 말이다.