Q&A

  • 파일 입출력에 관한 질문입니다.
안녕하세요

텍스트 파일을 만들려고 하는데 잘안되서요.



type

TMy_Rec = record

name :string[30];

juso :string[60];

중간생략 .... 생략

end;



... 중간 생략 ....



var FH: File of TMy_Rec;

My_Rec:TMy_Rec;

begin

AssignFile(FH, 'test.dat');

Rewrite(FH);

write(Fh, My_Rec); // My_Rec 레코드에 있는값을 test.dat파일로 저장한다.

CloseFile(Fh);

end;



위의 소스에서 에라없이 파일이 생성이 되거든요.

그런데 문제는 텍스트 파일 중간중간에 파일이 깨져서 볼수가 없거든요.

예) 02-806-0077 5d 1012 ==> 깨져서 볼수가 없음.....

My_Rec라는 레코드 타입을 사용해서 텍스트 파일을 생성할때 깨지지 않게 하는 방법을 알고 싶거든요...





1  COMMENTS
  • Profile
    구창민 2000.01.25 12:14
    강성만 wrote:

    > 안녕하세요

    > 텍스트 파일을 만들려고 하는데 잘안되서요.

    >

    > type

    > TMy_Rec = record

    > name :string[30];

    > juso :string[60];

    > 중간생략 .... 생략

    > end;

    >

    > ... 중간 생략 ....

    >

    > var FH: File of TMy_Rec;

    > My_Rec:TMy_Rec;

    > begin

    > AssignFile(FH, 'test.dat');

    > Rewrite(FH);

    > write(Fh, My_Rec); // My_Rec 레코드에 있는값을 test.dat파일로 저장한다.

    > CloseFile(Fh);

    > end;

    >

    > 위의 소스에서 에라없이 파일이 생성이 되거든요.

    > 그런데 문제는 텍스트 파일 중간중간에 파일이 깨져서 볼수가 없거든요.

    > 예) 02-806-0077 5d 1012 ==> 깨져서 볼수가 없음.....

    > My_Rec라는 레코드 타입을 사용해서 텍스트 파일을 생성할때 깨지지 않게 하는 방법을 알고 싶거든요...

    >

    >



    제가 볼때는 File의 타입을 그 TMyRec로 해서 그런거 같네요.

    그냥 Text화일로 생성한다음 예를들어

    MyRec.name:= 'aaaaaaa';가 있다면

    Write(MyRec.name);

    이런형태로 저장하면 될거 같습니다.

    제가 질문을 잘못이해한거면 죄송합니다.

    그럼 즐거운 프로그래밍 하시길~