이곳에서 맨날 도움만 받는데.. 머 답할게 없을까하고 둘러 보다가 이렇게 답할수 있는게 나오네요...^^
부연설명을 하자면..
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 파일도 같이 첨부했습니다..무엇이 잘못
: 된건지..갈쳐주세요...