|
1.
fscanf(fdata,"%f",&data1); // <-- 값이 0.000000
---> fscanf(fdata,"%lf",&data1);
2.
이건 다른분이;; 잘 모르겠네요
3.
fscanf(fdata,"%s",data_name);
---> fscanf(fdata,"%s",data_name.c_str());
이렇게 하면 되지 않을까요;;;
저도 초보라성 헤헤;;
라이손레종ㅎ 님이 쓰신 글 :
: 안녕하세요 ~?
: 파일 입출력시에 간단한 질문인데요. 의도데로 잘안되서 도움 요청합니다.~
:
: 파일내용-----
: DATA_NAME
: 90000.85
: 90000.85
: -------------
:
: cpp 내용-----
: 1. FILE *fdata = fopen("test.txt","r");
:
: 2. char data_name[10];
: 3. double data1 = 0;
: 4. float data2 = 0;
:
: 5. fscanf(fdata,"%s",data_name);
: 6. fscanf(fdata,"%f",&data1); // <-- 값이 0.000000
: 7. fscanf(fdata,"%f",&data2); // <-- 값이 90000.851562
:
: 8. fclose(fdata);
:
:
: 파일내용의 문자 값과 실수 값을 가져올건데.. 그 실수 값이 매우 클때도 있을 꺼라
: 3번 처럼 double로 선언 하면.. 값을 못가져 와서인지.. 저렇게 0.0000 로 나오네요..;
: 그리고.. 4번 처럼 float로 선언하면 뒤에 쓰레기 값이 달라붙네요.. 이두가지 현상을
: 어찌 하면 되나요 ?
: 참.. 그리고.. 문자를 읽어 올때 2번 처럼 char 로 말고 AnsiString 으로 선언하면 실행시
: 에러가 나던데.. AnsiString 를 사용치는 못하는가요 ?
:
: 정리.. 1 double 선언 시.. 값이 0.0000
: 2 float 선언시 90000.851562 쓰레기 값이 달라붙는..
: 3. char 대신 AnsiString을 사용할수 없는지요 ?
|