C 질문있습니다.

  • #3591236
    1 47.***.51.86 544

    프로그램에서 파일의 데이터를 읽고 있는데, 파일의 처음부터 다시 읽어야 할 때 이 작업을 수행하려면 어떻게 해야 하나요? 마지막으로 한 가지 더 질문드리자면 파일을 다 끝냈을 때 파일을 닫는 것이 좋은 방법인 이유는 무엇인가요?

    • redis 72.***.81.124
    • 174.***.73.144

      파일 포인터를 다시 화일 시작부분으로 옮기는거죠.
      화일을 닫는건 옵션이 아니라 머스트라 보면 됩니다. 안그러면 메모리 리킹이 발생되거나 최악의 경우 크래쉬 됩니다

    • ㅇㅇㅇ 24.***.53.185

      fseek SEEK_SET

    • 83 76.***.80.205

      파일을 열어놓으면 시스템에 리소스가 잡혀있게됩니다. 다 썼으면 파일을 닫아서 리소스를 풀어주는게 좋겠죠. 그리고, 파일에 write한다고해서 바로 써지는게 아니에요. 버퍼에 넣어놓고 지꼴릴때 실제로 기록이 되죠. 파일을 닫게되면 이 버퍼에 놓여있던 것들이 기록이 쫘악 됩니다. 아무래도 더 안정적이죠.
      사과쨈을 먹을만치 먹었으면 뚜껑을 닫는게 좋겠죠. 뭐 그냥 놔둬도 엄마가 청소하면서 닫겠지만.

    • 98.***.8.171

      파일 디스크립터 개수 제한이 있어서 시스템마다 다르겠지만 수천개 열려있으면 더이상 안열림. 이게 파일만그런게아니라 디바이스 엑세스도 fd를 쓰기때문에 시스템 전체적으로 먹통될거심