C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[20159] Re:파일 출력부분 에러...
이성현 [cityguy2] 733 읽음    2002-07-16 11:22
안녕하세요 얼큰 이성현입니다.
이곳에서 맨날 도움만 받는데.. 머 답할게 없을까하고 둘러 보다가 이렇게 답할수 있는게 나오네요...^^

우선은
char fre[3], Mag[3];
        char Tmp[73];

이 변수 선언부를
char fre[4], Mag[4];
        char Tmp[74];

라고 바꿔 주시면 될겁니다.
제 PC에서 해 봤습니다.

부연설명을 하자면..
fre[0], fre[1], fre[2], fre[3]까지 데이터를 쓴다면 fre[4] 4개를 잡으셔야 사용가능합니다.

char fre[3]이라고 선언하고 fre[3] = 0; 이렇게 사용하면.. 다른 변수나 특정 메모리를 건드리게 되고 프로그램이 맛이 갑니다.

그럼 수고하세요.

멘땅에 헤딩 님이 쓰신 글 :
: : : : : : :
:
        FILE : *in;
        char fre[3], : Mag[3];
        char : Tmp[73];
        unsigned : Pos=0;
        int i=1, j, freTmp, : magTmp;
:
 
:
        if ((in = fopen : ("data_test.txt", "rt")) == NULL)
        : {
                : ShowMessage("파일이 열리지 : 않았습니다.");
                : return;
        }
:
        while( i <= : 150)
        {
:
                : fseek(in, Pos, : SEEK_SET);
                : fread(Tmp, 73, 1, in);
:
                : for(j = 0; j < 3; : j++)
                : {
                        : fre[j] = : Tmp[j];
                : }
                : fre[3] = : '\0';
                : freTmp = atoi(fre);
:
                : for(j = 4; j < 7; : j++)
                : {
                        : Mag[j-4] = : Tmp[j];
                : }
                : Mag[3] = : '\0';
                : magTmp = atoi(Mag);
:
                : Chart1->Series[0]->AddXY((double)i, (double)freTmp, "", : clTeeColor);
                : Chart1->Series[1]->AddXY((double)i, (double)magTmp, "", clTeeColor);
:
                : i = i + : 1;
                : Pos = Pos + 74;
:
        }
:
        fclose(in);
:
 
:
data_test.txt라는 파일을 읽어서 제가 원하는 데이터만 뽑은후 TChart에 뿌려줄려고 하는데..뜻대로 되지 : 않네요..
:
파일은 한 line에 72byte 널문자 포함해서 74byte입니다..그래서 한 line씩 읽어서 임의 변수에 저장하고 그 변수를 : 챠트에 넣어주는 소스인데 제 맘대로 파일포인터가 움직이질 않네요...
:
제가 파일 구조를 제대로 파악하지 않은건지..아님..파일함수들을 잘 못 쓴건지...
:
디버깅하면서 쫓아가보니..계속 같은 값만 읽고 있더라구요...
:
ftell()함수를 사용해서 파일 포인터 위치를 알아보면..40억이라는 어마어마한 숫자가 나오고...와!! : 미치겄습니다..^^  data_test.txt 파일도 같이 첨부했습니다..무엇이 잘못 : 된건지..갈쳐주세요...
: :
:

+ -

관련 글 리스트
20149 파일 출력부분 에러... 멘땅에 헤딩 802 2002/07/16
20159     Re:파일 출력부분 에러... 이성현 733 2002/07/16
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.