C언어를 공부하고 있는 학생입니다.
fscanf 함수로
txt 파일에 입력을 하고
txt 파일에 입력된 것 중에
마지막 한 라인만 지울수있는 방법은 없을까요 ?
예를 들면
a.txt 파일에
안녕하세요 목요일 입니다. 하루만 더 참으면 금요일 이네요. 화이팅
이라고 입력되있으면
화이팅 이라는 라인을 지우고싶은데...
제가 보고있는 책에는 입력만 나와있지 삭제에 대한것은 언급이 없네요ㅠㅠ
조언 부탁드립니다ㅜㅜ
사실상 파일의 내용을 삭제하는 방법은 존재하지 않습니다. 그냥 파일전체를 지우는것이죠.
파일의 일부분만을 삭제하고 싶다면, 지우길 원하는 해당 부분을 "제외한" 나머지 부분으로 파일 전체를 덮어쓰기하는것 입니다.
즉, fscanf로 a.txt를 마지막까지 쭉 다 읽은다음에
파일 핸들을 닫고, a.txt를 지우던지, 아니면 a.txt를 덮어쓰기모드로 다시 열어서 ( truncate )
마지막 라인만 빼고, 다시 쭉 써내려갑니다.
그리고 저장.
굳이 그렇게 해야 한다면 파일 포인터를 fseek으로 해당 위치까지 옮겨놓고, 그 위치 뒷부분을 공백으로 채워넣으면 비슷한 일을 할 수 있겠죠
피할 수 있을때 즐겨라! http://melotopia.net/b
그건 정말 *비슷한*일 입니다.
해당라인이나 컬럼을 공백으로 채워넣는것뿐이기때문에 지운만큼 해당부분이 공백으로 보입니다.
즉, 중간중간 지우면 중간중간 공백 라인/컬럼으로 보여지겠죠.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
사실상 파일의 내용을 삭제하는 방법은 존재하지
사실상 파일의 내용을 삭제하는 방법은 존재하지 않습니다.
그냥 파일전체를 지우는것이죠.
파일의 일부분만을 삭제하고 싶다면,
지우길 원하는 해당 부분을 "제외한" 나머지 부분으로 파일 전체를 덮어쓰기하는것 입니다.
즉,
fscanf로 a.txt를 마지막까지 쭉 다 읽은다음에
파일 핸들을 닫고,
a.txt를 지우던지,
아니면 a.txt를 덮어쓰기모드로 다시 열어서 ( truncate )
마지막 라인만 빼고, 다시 쭉 써내려갑니다.
그리고 저장.
굳이 그렇게 해야 한다면 파일 포인터를 fseek으로
굳이 그렇게 해야 한다면 파일 포인터를 fseek으로 해당 위치까지 옮겨놓고, 그 위치 뒷부분을 공백으로 채워넣으면 비슷한 일을 할 수 있겠죠
피할 수 있을때 즐겨라! http://melotopia.net/b
그건 정말 *비슷한*일 입니다. 해당라인이나 컬럼을
그건 정말 *비슷한*일 입니다.
해당라인이나 컬럼을 공백으로 채워넣는것뿐이기때문에
지운만큼
해당부분이 공백으로 보입니다.
즉, 중간중간 지우면
중간중간 공백 라인/컬럼으로 보여지겠죠.
댓글 달기