:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
08/12/16 23:13
일단 double에 %lf로 모두 읽은 후에 int로 casting하고나서 다시 double로 casting하고나서 읽었던 값과 비교해서 동일하면 int고 동일하지 않으면 소수점 아래값을 갖는 double입니다.
1.0을 double로 의도했다면 int로 인식되기 때문에 완벽한 방법은 아닙니다.
08/12/16 23:31
%s 문자열로 읽어서 확인해 봐야죠.
아니면 한줄을 통채로 읽어서 올바른 형식인지 accept automata만들어서 돌려도 되고요.
08/12/16 23:43
완벽한 방법은 아니지만 구현하기 간단한 방법입니다.
sprintf(dummy2,"%d %lf %lf\n",dum2,dum3,dum4); 로 불러온 값으로 똑같이 한 줄 만든후에 strcmp(dummy,dummy2); 읽었던 스트링과 비교합니다. 문자열이 섞여 있었다면 dummy,dummy2는 내용이 다릅니다. 문자열을 double로 만드는 함수는 본문에 사용하셨습니다. sscanf
|