64 lines
2.1 KiB
C
64 lines
2.1 KiB
C
|
/*
|
|||
|
Program: dir-all.c (Report comments/bugs to chikh@yuntech.edu.tw)
|
|||
|
Function: <EFBFBD><EFBFBD><EFBFBD>ܫ<EFBFBD><EFBFBD>w<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҧ<EFBFBD><EFBFBD>ɮפ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>T<EFBFBD>AĴ<EFBFBD>p<EFBFBD><EFBFBD><EFBFBD>R<EFBFBD>O<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>J c:\temp\ <EFBFBD>˵<EFBFBD><EFBFBD>ĪG
|
|||
|
Note:
|
|||
|
1. <EFBFBD><EFBFBD><EFBFBD>{<EFBFBD><EFBFBD><EFBFBD>ϥ<EFBFBD>dirent.h<EFBFBD>A<EFBFBD>Ӽ<EFBFBD><EFBFBD>Y<EFBFBD>ɩw<EFBFBD>q<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>c<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><EFBFBD>A<EFBFBD>A<EFBFBD>Ӽ<EFBFBD><EFBFBD>Y<EFBFBD>ɦ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
C:\Program Files (x86)\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
|
|||
|
2. <EFBFBD>R<EFBFBD>O<EFBFBD>C<EFBFBD><EFBFBD><EFBFBD>J<EFBFBD><EFBFBD><EFBFBD>Φ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> c:\\temp\\ <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>a<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܿ<EFBFBD><EFBFBD>J c:\temp\ <EFBFBD>Y<EFBFBD>i<EFBFBD><EFBFBD>
|
|||
|
<EFBFBD>T<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>ݨӤ<EFBFBD><EFBFBD>ݦb<EFBFBD><EFBFBD><EFBFBD>|<EFBFBD>y<EFBFBD>z<EFBFBD><EFBFBD><EFBFBD>r<EFBFBD>ꤤ<EFBFBD>hµ<EFBFBD><EFBFBD><EFBFBD>˱u<EFBFBD>A<EFBFBD>ЦP<EFBFBD>ǹ<EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD>ӷL<EFBFBD>t<EFBFBD><EFBFBD>
|
|||
|
3. Dev-C++<EFBFBD><EFBFBD><EFBFBD>Ѫ<EFBFBD>dirent.h<EFBFBD>ҩw<EFBFBD>q<EFBFBD><EFBFBD>dirent<EFBFBD><EFBFBD><EFBFBD>c<EFBFBD>p<EFBFBD>U<EFBFBD>G
|
|||
|
struct dirent
|
|||
|
{
|
|||
|
long d_ino; // Always zero
|
|||
|
unsigned short d_reclen; // Always zero
|
|||
|
unsigned short d_namlen; // Length of name in d_name
|
|||
|
char d_name[260];// File name
|
|||
|
};
|
|||
|
*/
|
|||
|
|
|||
|
#include <stdio.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <string.h>
|
|||
|
#include <dirent.h>
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
DIR *dpdf; //<2F>ŧi<C5A7><69><EFBFBD>|<7C><><EFBFBD>A<EFBFBD><41><EFBFBD><EFBFBD> <20><>opendir<69>f<EFBFBD>t <20>ΨӦs<D3A6><73><EFBFBD>}<7D>Ҹ<EFBFBD><D2B8>|<7C><><EFBFBD>O<EFBFBD><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>m
|
|||
|
struct dirent *epdf;
|
|||
|
char directoryPath[128], fileName[256];
|
|||
|
long i, fileSize, fileCount;
|
|||
|
FILE *fp;
|
|||
|
|
|||
|
system("cls");
|
|||
|
printf("\n<EFBFBD><EFBFBD><EFBFBD>J<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>| ==> ");
|
|||
|
scanf("%127[^\n]%*c",directoryPath);
|
|||
|
|
|||
|
if ((dpdf=opendir(directoryPath)) == NULL) { //opendir<69><72>DIR<49><52><EFBFBD>A<EFBFBD>h<EFBFBD><68><EFBFBD><EFBFBD><EFBFBD>m
|
|||
|
printf("<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>s<EFBFBD>b!\n");
|
|||
|
return -1;
|
|||
|
}
|
|||
|
printf("<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҧ<EFBFBD><EFBFBD>ɮ<EFBFBD><EFBFBD>T<EFBFBD>p<EFBFBD>U ...\n=============================================\n");
|
|||
|
while (epdf = readdir(dpdf)) { //Ū<><C5AA><EFBFBD>ɮשҦb<D2A6>ؿ<EFBFBD><D8BF>A<EFBFBD>u<EFBFBD>ndpdf<64>ҫ<EFBFBD><D2AB><EFBFBD><EFBFBD>e<EFBFBD><65><EFBFBD>šA<C5A1>Y<EFBFBD>N<EFBFBD><4E><EFBFBD>ۦ<EFBFBD><DBA6>ɮצs<D7A6>b<EFBFBD>A<EFBFBD>]<5D><><EFBFBD>i<EFBFBD>J<EFBFBD>j<EFBFBD><6A><EFBFBD>B<EFBFBD>z
|
|||
|
if (strcmp(epdf->d_name,".")==0 || strcmp(epdf->d_name,"..")==0) continue; //<2F>o<EFBFBD><6F><EFBFBD><EFBFBD><EFBFBD>ɦW<C9A6>@<40>w<EFBFBD>|<7C>s<EFBFBD>b <20>@<40>w<EFBFBD>n<EFBFBD>ư<EFBFBD> <20>]<5D><><EFBFBD>o<EFBFBD>O<EFBFBD>t<EFBFBD>Φ۰ʥͦ<CAA5><CDA6><EFBFBD> <20>]<5D>|<7C>۰<EFBFBD><DBB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>Alinux<75><78><EFBFBD>|<7C>Q<EFBFBD><51><EFBFBD><EFBFBD>
|
|||
|
sprintf(fileName,"%s%s",directoryPath,epdf->d_name); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>|+<2B>ɦW
|
|||
|
if ((fp=fopen(fileName,"rb")) == NULL) { // <20>}<7D><><EFBFBD>ɮסA<D7A1>}<7D>ɼҦ<C9BC><D2A6><EFBFBD>"<22><><EFBFBD>J+<2B><><EFBFBD>X+<2B><><EFBFBD>r<EFBFBD>D<EFBFBD><44><EFBFBD>r<EFBFBD>q<EFBFBD>Y"
|
|||
|
//printf("File open error\n");
|
|||
|
printf("%-50s *<2A>l<EFBFBD>ؿ<EFBFBD>*\n",epdf->d_name);
|
|||
|
}
|
|||
|
else {
|
|||
|
fseek(fp,0,SEEK_END); /* <20>ɮ<EFBFBD>Ū<EFBFBD>g<EFBFBD>Y<EFBFBD><59><EFBFBD>̧ܳ<DCB3><CCA7><EFBFBD> */
|
|||
|
fileSize = ftell(fp); /* <20>Ҧb<D2A6><62><EFBFBD>m<EFBFBD>A<EFBFBD><41><EFBFBD>⬰<EFBFBD>ɮת<C9AE><D7AA><EFBFBD> */
|
|||
|
fclose(fp);
|
|||
|
printf("%-50s %d bytes\n",epdf->d_name,fileSize);
|
|||
|
fileCount++;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
closedir(dpdf); //<2F><><EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5>c
|
|||
|
printf("=============================================\n<EFBFBD><EFBFBD><EFBFBD>Ƨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>@<40><>%d<>ɮ<EFBFBD>!\n",fileCount);
|
|||
|
|
|||
|
return 0;
|
|||
|
}
|
|||
|
|
|||
|
|