이진 파일 처리를하고 있는데 알고리즘의 실제 유형을 pos_type
및 off_type
으로 알고 싶습니다. 예를 들어 파일 크기를 계산하거나 주어진 위치 (tellg
및 seekg
).STL을 사용하여 C++에서 2GB보다 큰 파일 처리
파일 크기를 계산할 때 static_cast
은 pos_type
에서 int64_t
으로 잘 작동하는 것 같습니다.
어때 대략 seekg
? int64_t
을 전달하는 것이 안전합니까?
pos_type
및off_type
될 수 있도록하는 방법이있는int64_t
, 아마도traits
를 사용하고 계십니까?
나는 끔찍한 캐스트를 제거하고 C++ 표준에 맞는 방법을 찾고 싶습니다.
업데이트 : 당신은 아마 표준 :있는 fpos_t 타입 정의 사용해야도
어떤 플랫폼/버전입니까? – Joe
플랫폼 독립적 인 방법 :) – Ali
이러한 종류의 질문은 플랫폼에 독립적 인 방식으로 대답 할 수 없습니다. 각 플랫폼마다 자체 제한을 자유롭게 선택할 수 있기 때문입니다. –