node.js와 C 언어는 폴더에서 가장 큰 파일을 옮겨다니며 출력 경로, 크기
폴더에서 가장 큰 파일을 옮겨다니며 출력 경로, 크기
구현 코드:
/*
, ,
*/
function findmax(basepath){
//
if(findmax.s) return;
findmax.s = true;
var fs = require('fs');
var maxfile = 0;
var count = 0;
var begin = new Date().getTime();
function Traversal(filepath){
fs.readdir(filepath, function(err,files){
if(err) return;
files.forEach(function(file,index,files){
//console.log(index + "=" + filepath +"\\" + file);
var tmppath = filepath +"\\" + file;
fs.stat(tmppath, function (err, stats) {
if (err) {
console.log(" " + err);
return;
};
if(stats.isDirectory()) Traversal(tmppath);
else {
//console.log(++count +" "+ tmppath + " " + stats.size);
count++;
if(maxfile < stats.size)
maxfile = stats.size;
}
});
});
});
}
Traversal(basepath);
process.on('exit', function () {
var end = new Date().getTime();
console.log(count + ' :' + (end - begin) + "ms " + maxfile);
});
console.log(basepath);
}
findmax('D:\\devtools\\');
C/C++ 구현 코드
#include
#include
#include
DWORD maxsize = 0;
clock_t start, end;
DWORD count = 0;
void find(char * lpPath)
{
char szFind[MAX_PATH],szFile[MAX_PATH];
DWORD tmpsize = 0;
WIN32_FIND_DATA FindFileData;
strcpy(szFind,lpPath);
strcat(szFind,"\\*.*");
HANDLE hFind=FindFirstFile(szFind,&FindFileData);
if(INVALID_HANDLE_VALUE == hFind) return;
while(TRUE)
{
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)//
{
if(FindFileData.cFileName[0] != '.') // . or ..
{
strcpy(szFile,lpPath);
strcat(szFile,"\\");
strcat(szFile,FindFileData.cFileName);
find(szFile);//
}
}else{
//printf("%s
",FindFileData.cFileName);
count++;//
tmpsize = FindFileData.nFileSizeLow;
if(maxsize < tmpsize) maxsize = tmpsize;
}
// ,
if(!FindNextFile(hFind,&FindFileData)) break;
}
}
void main()
{
char filepath[MAX_PATH]="d:\\devtools";
printf("%s
",filepath);
start = clock();
find(filepath);
end = clock();
printf(" :%d %dms max File:%d",count,end - start,maxsize);
//system("PAUSE");
}
읽어주셔서 감사합니다. 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.