나는 두 개의 파일 포인터를 가지고 다음을 수행하는 경우 :이 경우두 파일 포인터가 같은 파일을 가리키면 그 중 하나만 닫으면됩니까?
FILE *f1,*f2;
f1= fopen("inputfile","r+");
f2=f1;
fclose(f2);
이 동등한 동작을 유효 마지막 줄에 가까운 F1 것뿐만 아니라?
나는 두 개의 파일 포인터를 가지고 다음을 수행하는 경우 :이 경우두 파일 포인터가 같은 파일을 가리키면 그 중 하나만 닫으면됩니까?
FILE *f1,*f2;
f1= fopen("inputfile","r+");
f2=f1;
fclose(f2);
이 동등한 동작을 유효 마지막 줄에 가까운 F1 것뿐만 아니라?
두 가지 모두 닫히고 둘 다 닫힌 파일을 가리 킵니다.
할당 f2=f1
은 마법을 부과하지 않습니다 (참조 횟수를 늘리거나 설명자를 복제하는 것).
* Linux * 인 경우 f1 및 f2에서 두 번 파일을 엽니 다. –
포인터를 닫지 않고 포인터가 가리키는 개체를 닫습니다. –
btw는'int * f1 = malloc (sizeof (int))와 매우 비슷하다. f2 = f1; free (f1);''f2'를 사용하면 정의되지 않은 동작이 발생합니다. –