c언어에서 du 루틴 구현 어떻게 하나요?

mudori의 이미지

넘 어렵네요.. 쉬울줄 알았는데.

달파란의 이미지

def disk_usage(directory):
	dir_list = os.listdir(directory)
	total = 0
	for f in dir_list:
		path = directory+'/'+f
		if os.path.isdir(path):
			total += disk_usage(path)
		else:
			total += os.lstat(path)[6]
	return total

파이썬으로 하면 위와 같습니다. :)

그러나 C 코드를 원하신다면 아래 링크를 참조해 보세요.

http://joinc.co.kr/modules/moniwiki/wiki.php/article_%B5%F0%B7%BA%C5%E4%B8%AE_%B8%AE%BD%BA%C6%AE_%B0%CB%BB%F6

만약 진짜 du 를 원하신다면 아래 링크를..

http://www.mit.edu:8001/afs/athena.mit.edu/project/gnu/src/f/fileutils-4.0/src/du.c

Necromancer의 이미지

어렵다고 해도 stat(), readdir(), chdir() 조합 아닌가요.

Written By the Black Knight of Destruction

mudori의 이미지

감사합니다............ 보고 수정해야겠네요.