매우 큰 색인 파일이있는 곳에서 프로그램을 만들어야하는데 파일에서 데이터를 검색하고 해석해야합니다. 이제 캐치는 필자가 찾고있는 것이 아닌 경우 특정 데이터를 캐시에서 제거해야하므로 (인수로 결정된) 언제든지 캐시 된 파일의 x 바이트 만 허용 할 수 있습니다.C가 파일의 일부를 캐시에 읽어들입니다.
필자의 이해가 정확하다면 fopen (r)은 캐시에 아무 것도 넣지 않고 getc 나 fread (크기 지정)를 호출 할 때만 캐시됩니다.
제 질문은 fread를 사용하고 100 바이트를 읽지 만 100 바이트 중 20 개만 필요한 데이터를 포함한다는 것입니다. 파일에서 더 많은 것을 읽으려면 캐시에서 쓸모없는 80 바이트를 제거 (또는 덮어 쓰기)하면 어떻게 될까요? 문제 쉽게
나는 다소 혼란 스럽다고 생각합니다. 이 경우 "캐시"가 의미하는 바를 자세히 설명해 주시겠습니까? O/S 캐시 또는 다른 것을 언급하고 있습니까? –