>백엔드 개발 >C++ >외부 라이브러리 없이 C에서 파일 크기를 결정하는 방법은 무엇입니까?

외부 라이브러리 없이 C에서 파일 크기를 결정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-12 21:20:02378검색

How to Determine File Size in C   Without External Libraries?

C에서 파일 크기 결정

이동성, 신뢰성 및 단순성을 유지하면서 C에서 파일 크기를 어떻게 얻을 수 있습니까? 발생하는 라이브러리 종속성?

해결책:

C에서 파일 크기를 결정하는 가장 일반적이고 신뢰할 수 있는 방법은 std::ifstream 클래스를 활용하는 것입니다. 이를 구현하는 방법은 다음과 같습니다.

#include <fstream>

std::ifstream::pos_type filesize(const char* filename)
{
    std::ifstream in(filename, std::ifstream::ate | std::ifstream::binary);
    return in.tellg();
}

이 코드에서:

  • std::ifstream(filename, std::ifstream::ate | std::ifstream:: 바이너리)는 읽기 위해 지정된 파일을 엽니다.
  • std::ifstream::ate는 파일 포인터를 파일의 끝에 위치시킵니다. file.
  • std::ifstream::binary는 파일이 바이너리 모드에서 읽히도록 보장합니다.
  • in.tellg()는 파일 크기를 나타내는 파일 포인터의 현재 위치를 검색합니다.

참고:
이 솔루션은 다음을 사용한다는 점에 유의하는 것이 중요합니다. Tellg()는 특정 시스템에서 항상 올바른 파일 크기를 반환하지 않습니다. 자세한 내용은 http://stackoverflow.com/a/22986486/1835769 토론을 참조하세요.

위 내용은 외부 라이브러리 없이 C에서 파일 크기를 결정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.