|
여태식 님이 쓰신 글 :
: FileOpen()을 이용하여 파일을 FileRead와 FileWrite로 파일을 읽고/씁니다.
: 파일의 데이타는 구조체를
: struct{
: char s[100];
: char t[100];
: }
: 1,2,3,4,5...10으로 10개의 데이타가 입력되어 있을때
: 입력되어 있는 데이타 중 3번째에 있는 데이타만을 삭제하고
: 1,2,4,5...10의 9개 데이타로 만들고 싶습니다.
:
: 제가 사용하는 방법은
: 임시파일을 생성해서 3을 제외한 나머지를 임시파일에 저장을 해서 다시 원래 파일을 create해서 임시파일에서 불러와서 저장합니다.
: 그러다 보니 많은 데이타 양일 경우에 시간이 너무 많이 소요됨.
:
: 그래서 임시파일을 만들지 않고 원래파일에서 3번째자리에 4를, 4번째 자리에 5를...이런식으로 하면 파일의 제일마지막에 10,10 이 두개가 남개 되는데
: 이때 제일마지막에 파일의 끝 표시를 하면 될것 같습니다.
: 이게 가능할까요??
: 방법은요???
:
:
Key값을 이용하지 않는한
그래서 임시파일을 만들지 않고 원래파일에서 3번째자리에 4를, 4번째 자리에 5를...이런식으로 하면 파일의 제일마지막에 10,10 이 두개가 남개 되는데
: 이때 제일마지막에 파일의 끝 표시를 하면 될것 같습니다.
이방법이 좋을것 같습니다.
(그런데 왜 이런자료구조가 필요할까요?? :: 조금달리생각하면 Table,DB 를 사용하시는게 편한디)
: 방법은요???
10레코드를 쓴후
putc(??,fd); <= ?? :: EOF에해당하는 ASCII 값 오래된 내용이라 기억이 가물가물
예전에 이렇게 해본적은 있습니다.
조금이나마(^^;
도움되시기를
|