Programing - C/C Basic grammar

082 atof strtof strtod 문자열 실수 변환

junmoyo 2017. 7. 28. 13:03

개념 :


문자열의 실수들을 검색하여 실수로 변환하여 준다.


atof 의 경우 문자열에 실수만 들어 있어야하며 두번째를 탐색하지 않는다.


strtof 의 경우 문자열에서 찾은부분을 리턴하고 포인트로 그담을 가르켜서 연속적이고 구분가능한 실수들을 추출할수있다.


strtod의 경우는 strtof와 같으나 double이냐 float 이냐의 차이다. 상황에 맞게 쓰자.




소스코드 : main.c

#include <stdio.h>

#include <stdlib.h>


int main(void)

{

char *pString_1 = "12.3 4.56 789.0";

char *pString_2 = "12.354";

float fValue_1 = 0.0f;

char* pPoint = pString_1;


float fBuffer_1[256] = { 0, };

float fBuffer_2[256] = { 0, };


int count = 0;


fValue_1 = atof(pString_2);

printf("%f \n", fValue_1);


for (count = 0; ;count++)

{

fBuffer_1[count] = strtof(pPoint, &pPoint);


if (fBuffer_1[count] == 0.0f)

{

break;

}


printf("%f \n", fBuffer_1[count]);

}


pPoint = pString_1;


for (count = 0; ;count++)

{

fBuffer_2[count] = strtof(pPoint, &pPoint);


if (fBuffer_2[count] == 0.0f)

{

break;

}


printf("%f\n", fBuffer_2[count]);

}


return 0;

}


결과



 #c언어, #c언어입문, #프로그램입문, #atof, #strtof, #strtod, #문자열을실수로