-1
我試圖從文件夾中獲取所有文件的大小。問題是我從當前目錄更改路徑,它找不到文件的大小。它僅適用於當前目錄,對於項目所在的目錄。如果我wirte d = opendir(「。」)正在工作,但只有這樣,我想改變路徑。由於 代碼:當我更改列出文件的路徑時出現問題
#include <stdio.h>
#include <dirent.h>
#include <sys/stat.h>
void main()
{
DIR *d;
struct dirent *de;
struct stat buf;
int exists;
int total_size;
d = opendir("C:\\MinGWStudio\\Templates");
if (d == NULL) {
perror("prsize");
exit(1);
}
total_size = 0;
for (de = readdir(d); de != NULL; de = readdir(d)) {
exists = stat(de->d_name, &buf);
if (exists < 0) {
fprintf(stderr, "Couldn't stat %s\n", de->d_name);
}
else {
printf("%s ", de->d_name);
printf("%d \n", buf.st_size);
total_size += buf.st_size;
}
}
closedir(d);
printf("%d\n", total_size);
}
我在windows上工作 – Sebi95
您不能在C++的全局命名空間中使用'void main()'。使用'int main(void)'。 – MikeCAT