파일을 맨 처음 생성했을 때에는 길이 정보를 0 으로 먼저 저장한 후에 데이터를 쓰시다가..
fseek(fp, 0L, SEEK_SET); 을 쓰면 파일 포인터의 맨 처음으로 이동합니다.
여기에서 다시 fwrite 호출하면 됩니다. (fseek 으로 파일 포인터의 임의의 위치로 이동할 수 있습니다.)
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
결론을 말씀드리면.. 그냥 안된다고 생각하시면됩니다.^^
하지만 안되는것도 아니죠... 몇가지 방법이 있습니다..
파일을 새로만들어.. 추가내용먼저쓰고 기존파일내용 덧붙여 새파일만드는방법
또다른방법은.. 파일내용 메모리에 모두 저장해두고.. 추가내용을 메모리 앞쪽에 추가하고.. 파일을 처음부터 갱신하는방법.
대략두가지 입니다. 많은 편집기나 문서작업프로그램들이 거의 두가지 방식중하나를 쓸겁니다.
님이 생각하시는.. 파일의 기존내용을 그대로 둔체로는 거의? 불가할겁니다.
앞부분에 기록할 빈칸을 미리 만들어 놓고 그 빈칸의
앞부분에 기록할 빈칸을 미리 만들어 놓고
그 빈칸의 값을 변경하면
파일 사이즈가 변할 일은 없을듯합니다.
빈 칸의 값을 어떻게 변경해야 할까요..ㅠㅠ
빈 칸의 값을 어떻게 변경해야 할까요..ㅠㅠ
음 ..
stat 함수로 file 의 size 를 알 수 있는데, 굳이 파일에 저장을 해야 하는 이유가 있으신지..?
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
아... 지금 DVR을 제작중에 avi 포맷이 아닌
아... 지금 DVR을 제작중에 avi 포맷이 아닌 직접 파일 포맷을 만들어서 진행 중인데 뷰어를 만드는 쪽에서 데이터의 전체 사이즈를 알아야 한다고 해서요..ㅠ
음 ..
파일을 맨 처음 생성했을 때에는 길이 정보를 0 으로 먼저 저장한 후에 데이터를 쓰시다가..
fseek(fp, 0L, SEEK_SET); 을 쓰면 파일 포인터의 맨 처음으로 이동합니다.
여기에서 다시 fwrite 호출하면 됩니다. (fseek 으로 파일 포인터의 임의의 위치로 이동할 수 있습니다.)
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
아하!!!!!!!!!!!! fseek 함수가 이렇게
아하!!!!!!!!!!!! fseek 함수가 이렇게 쓰이는 군요!!
감사합니다!! 얼른 해봐야겠네요!
감사합니다!
fseek ? 이분말뜻은 그게
fseek ?
이분말뜻은 그게 아닌듯한데...
이미생성된파일에.. 앞부분에 추가하고싶단얘기같군요...
결론을 말씀드리면.. 그냥 안된다고 생각하시면됩니다.^^
하지만 안되는것도 아니죠... 몇가지 방법이 있습니다..
파일을 새로만들어.. 추가내용먼저쓰고 기존파일내용 덧붙여 새파일만드는방법
또다른방법은.. 파일내용 메모리에 모두 저장해두고.. 추가내용을 메모리 앞쪽에 추가하고.. 파일을 처음부터 갱신하는방법.
대략두가지 입니다. 많은 편집기나 문서작업프로그램들이 거의 두가지 방식중하나를 쓸겁니다.
님이 생각하시는.. 파일의 기존내용을 그대로 둔체로는 거의? 불가할겁니다.
질문 보시면 fopen() 후에 저장할 데이터도 직접
질문 보시면 fopen() 후에 저장할 데이터도 직접 쓰는 상황이네요. 먼저 답변해주신 분이 제대로 이해하신듯 합니다.
아...결국 저렇게 밖에 안되는 건가요..ㅠㅠ 저도
아...결국 저렇게 밖에 안되는 건가요..ㅠㅠ
저도 powersys 님이 말씀해 주신 두가지 방법을 생각 하긴 했는데... 좀더 심플하게 하는 방법은 없는 거군요..ㅠㅠㅠㅠㅠ
답변 감사합니다!!!ㅋ
댓글 달기