리눅스 시스템콜중에서 하드 남은 용량 구하는방법..?

helloneo의 이미지

안녕하세요..
리눅스환경에서 c로 프로그래밍하려는데요..
현재 하드의 남은 용량을 알수있는방법없을까요..?

익명사용자의 이미지

statfs 사용하시면 됩니다.

시스템 마다 약간씩 다르긴 해도 기본 구조는 비슷합니다.

자세한 사항은 메뉴얼 페이지 참고하세요.

    struct statfs usrMount;
    const char* usrDirStr = "/usr";
 
    if(0 == statfs(usrDirStr, &usrMount)) {
 
        std::cout << "Free size on " 
                  << usrDirStr << " : "
                  << usrMount.f_bsize * usrMount.f_bavail / 1024.0 / 1024.0 
                  << " MBytes." << std::endl;
    };

helloneo의 이미지

감사합니다..
값이 잘 안나와서 살펴봤더니 overflow가 났었네요.. ㅎㅎ

WHAT'S UP