파일처리 관련
글쓴이: rkdskd / 작성시간: 화, 2004/04/20 - 8:17오후
안녕하세요.
제가 구현하고싶은것은 텍스트 파일의 각 행 마지막에 문자를 삽입하는겁니다.
fgets로 배열을 사용하여 파일을 읽어서 마지막요소에 삽입을 해봤는데
문제가 텍스트파일의 각 행이 일정하지않아서 배열의 크기를 적당하게
잡기가 좀 곤란하고(물론 크게 잡으면 되겠지만..현재는 좀 곤란합니다)
덧붙여 동일파일에서 읽고 써야 하는데 한 행을 읽고 마지막에 문자를
추가하고 나서 파일에 기록을 한 후 파일 포인터를 다음 처리할 행으로
이동하고 나서 보면 다음행의 내용이 원래의(행에 문자 추가하여변경하기전)
행과 다르더군요. 한 문자 추가해서 다음행의 첫 한 문자가 지워지는 것
같습니다.
그렇다고 fgetc나 그렇게 하나씩 읽어서 처리하려고 하니 행의 마지막을
알아서 그 바로 앞 자리에 문자를 입력하는게 잘 안됩니다.
또한 I/O도 상당해서 될 수 있으면 쓰지 말라고하는 분도 있구요.
혹시 적당한 방법을 알고 계시면 좀 알려 주십시오..
아랫분의 글을 읽어보니.. c보다는 sed가 편할것 같습니다.
그런데 지금 사용중인 프로그램에 이것을 추가 해야 하는데 C로 짜여져 있습니다.
그래서 C로 짤려고 합니다. 근데 제가 C는 잘 몰라서 좀 헤매고 있습니다. :(
Forums:
꼭 C/C++로 해야 되는 건가요?그렇지 않다면 sed나 perl 등
꼭 C/C++로 해야 되는 건가요?
그렇지 않다면 sed나 perl 등으로 얼마든지 쉽게 처리할 수 있을텐데요...
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
직접 만드는 것도 간단하지만, (GNU 확장, 비표준) getline()
직접 만드는 것도 간단하지만, (GNU 확장, 비표준) getline() 함수를 쓰세요.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
[code:1] 원래파일오픈 대상파일오픈 반복 
http://cppreference.com/
Standard C I/O
http://cppreference.com/stdio.html
댓글 달기