[C/C++] 파일 패킹
파일들을 하나의 파일로 묶고 푸는 예제. 패킹 파일은, 패킹 파일에 대한 헤더, 패킹된 파일들에 대한 헤더, 실제 패킹된 파일들의 데이터 이렇게 세 구간으로 구분된다. 패킹 파일에 대한 헤더는, 이 파일을 상징하는 iType과 묶인 파일들의 수를 저장한다. 패킹된 파일들에 대한 헤더는 각 패킹된 파일들의 파일 사이즈, 파일의 이름, 실제 데이터 시작 위치(offset)를 저장한다. 이 때, offset을 저장하는 이유는 만약에 패킹 파일 내에서 변경(삭제 / 추가)이 일어났을 때, 중간에 데이터가 비는 부분이 발생할 수 있다. 예를 들어서, 중간 부분에 패킹된 100바이트 용량을 가진 파일이 삭제되고, 이 부분에 90바이트의 용량을 가진 파일이 추가된다면 사이즈로만 뒤의 파일들을 찾을 수 없다. #inc..
2022.01.06