(긴급질문) 프로그램내에서 특정 디렉토리의 사이즈 확인방법

air74의 이미지

안녕하세요.

프로그램내(C언어 사용)에서 특정 DIR 의 사이즈를 확인 할 수 있는 방법이 있을까요?

프로그램 A 에서 특정 디렉토리의 사이즈를 주기적으로 확인 해야 하는데 어떤 방법을 사용 해야 할지 잘 모르겠습니다.

그럼 여러 고수님들의 답변 부탁 드립니다.

air74의 이미지

제가 생각한 방법은 du 시스템콜로 결과를 file 형태로 저장을 한다음에 file 에서
해당 결과를 얻어와 integer 형태로 conversion 하는 방법 입니다.

혹시 비슷한 고민을 하시는 분 계시면 이 방법을 사용해보세요.

#include

void main(int argc, char *argv[])
{
int ch;
FILE *fp;
char buffer[20];

if (argc != 2)
{
printf("[USAGE] a.out stored_file\n");
return 1;
}

system("du -sk ./BPKERNEL > test.txt");

if ((fp = fopen( argv[1], "rt")) == NULL)
{
printf("file open error (%s)\n", argv[1]);
return 1;
}

fread(&buffer, sizeof(10), 1, fp);

printf("DIR_SIZE(%d)\n", atoi(buffer));

remove(argv[1]);

return 0;
}

어설푼 이..