|
질문의 내용은 이해가는데 말로 답변이 좀 그래서 비슷한 상황을 만들어서
예제를 올려 드립니다. 도움이 되었으면 합니다.
char* buffer = "s100.1,12,14,23.4,4.5e" ;
buffer -> 시리얼 수신 데이타 버퍼를 그냥 만들어 보았습니다.
s : stx -> Hex 값이 생각 안나서 그냥 ...
e : etx -> Hex 값이 생각 안나서 그냥 ...
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int loop, i = 1 ;
char* buffer = "s100.1,12,14,23.4,4.5a" ;
char* pValue ;
int end = 0 ;
pValue = buffer+1 ;
printf("%f\n", atof(pValue)) ;
while(1)
{
while(buffer[i] != ',')
{
if(buffer[i] == 'a')
{
end = 1 ;
break ;
}
i ++ ;
}
if(end == 0)
{
pValue = &buffer[i+1] ;
printf("%f\n", atof(pValue)) ;
i ++ ;
}
else break ;
}
system("PAUSE");
return 0;
}
|