FILE *fp 를 전역 변수로 선언하고 fp=fopen("Test.txt","w"); 로 파일을 생성,열고 fwrite를 합니다.
fwrite 하는 도중에 Test.txt를 TTTest.txt 로 이름을 변경하였습니다.
전 fwrite 가 안될거라 생각하였는데 실제로 TTTest.txt에는 원본 파일 사이즈만큼 쓰여졌습니다.
파일 이름이 변경되었음에도 불구하고 왜 이런 현상이 일어나는것입니까?
FILE *fp 를 전역 변수로 선언하고 fp=fopen("Test.txt","w"); 로 파일을 생성,열고 fwrite를 합니다. fwrite 하는 도중에 Test.txt를 TTTest.txt 로 이름을 변경하였습니다. 전 fwrite 가 안될거라 생각하였는데 실제로 TTTest.txt에는 원본 파일 사이즈만큼 쓰여졌습니다. 파일 이름이 변경되었음에도 불구하고 왜 이런 현상이 일어나는것입니까?
파일을 열 때에는 이름으로 identify를 하지만, 한번 열리면 이미 inode 와 같은 내부적인 정보로 연결이 되어있습니다. 이름을 바꾼다고 그 파일의 본질(?)이 바뀌는 것은 아닙니다.
답변에 감사드립니다.
한가지 더 궁금한게 잇습니다.
1G 파일을 100개로 잘라서 파일을 복사 할 경우 복사 하는 도중에
파일의 이름이 변경되었습니다. (Test.txt 에서 TTTest.txt 로 )
이를 다른 파일로 인식하여 더 이상 파일에 fwrite 하지 않게 하는 방법은 없을까요?
텍스트 포맷에 대한 자세한 정보
<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]
Re: 파일 쓰기에서 파일 포인터에 관해서 질문
파일을 열 때에는 이름으로 identify를 하지만, 한번 열리면 이미 inode 와 같은 내부적인 정보로 연결이 되어있습니다. 이름을 바꾼다고 그 파일의 본질(?)이 바뀌는 것은 아닙니다.
그렇다면 파일의 이름이 변경되었을 경우 다른 파일로 인식하는
답변에 감사드립니다.
한가지 더 궁금한게 잇습니다.
1G 파일을 100개로 잘라서 파일을 복사 할 경우 복사 하는 도중에
파일의 이름이 변경되었습니다. (Test.txt 에서 TTTest.txt 로 )
이를 다른 파일로 인식하여 더 이상 파일에 fwrite 하지 않게 하는 방법은 없을까요?
댓글 달기