3
每當我爲每個目錄運行我的程序時,即使使用ls-ls檢查每個目錄的實際大小,也會輸出8。 林試圖打印所有的目錄的用戶輸入lstat()st_blocks輸出的值不正確
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
int main(int argc, char**argv)
{
struct stat path_stat;
int i;
int size=0;
for (i=1; i <argc; i++){
if (lstat(argv[i], &path_stat)) {
perror(argv[i]);
} else {
if (S_ISDIR(path_stat.st_mode)){
size=path_stat.st_blocks;
printf("%d %s \n",size,argv[i]);
}
}
}
return(0);
}
爲什麼你認爲8的輸出是錯誤的? –
我已經檢查過使用多個目錄並使用ls -ls來仔細檢查 – user1995933
ls -ls不能顯示目錄的大小。它甚至沒有列出目錄,而是列出了其中的文件。 –