비슷한 문제에 관해 이전에 답변 된 몇 가지 질문을 읽었지만 앞으로 어떻게해야하는지 아직 명확하지 않습니다. 이것은 시나리오입니다.파일 포인터가 열려 있는지 확인한 다음 C++에서 삭제하십시오.
임시 파일을 몇 개 삭제해야하지만 삭제되지는 않습니다. 디버깅하는 동안 파일을 수동으로 삭제하려고해도 삭제되지 않는다는 것을 깨달았습니다. 따라서 일부 파일 포인터가 아직 파일을 삭제하지 못하게 막지 않았다고 결론을 내 렸습니다.
그러나이 파일 포인터는 나에게 접근 할 수없는 코드 부분에서 사용되고 있습니다. 이로 인해 파일 포인터가 열려 있는지 확인하고 삭제할 수있는 솔루션이 하나만있는 것 같습니다 (어쩌면).
또는 상황을 처리 할 수있는 다른 방법이 있습니까?
POSIX 시스템에서 파일을 [unlink] (http://linux.die.net/man/3/unlink)하고 동일한 프로세스에서 열면 파일이 제거됩니다. 파일이 닫힙니다. –
글쎄, 당신은 이미 솔루션을 설명했습니다. 삭제 시도, 실패한 경우 오류 코드를 검사하여 파일이 열려있어 실패했는지 확인하십시오. – Erik
가능한 해결책을 가져 주셔서 감사합니다. :) – Darzen