특정 디렉토리에있는 목록을 반환하는 함수를 찾고 있습니다.C++ 프로그램에서 하드 드라이브 디렉토리를 어떻게 봅니까?
system("dir");
그러나 이것은 단지 작업 디렉토리의 내용을 인쇄, 나는 다른 곳으로 CD 할 수 없습니다 : 내가 찍었을 그 가장 가까운이를 사용하는 것입니다.
저는 Windows를 사용하고 있으며 크로스 플랫폼으로 만들 계획이 없으므로 걱정하지 마십시오.
특정 디렉토리에있는 목록을 반환하는 함수를 찾고 있습니다.C++ 프로그램에서 하드 드라이브 디렉토리를 어떻게 봅니까?
system("dir");
그러나 이것은 단지 작업 디렉토리의 내용을 인쇄, 나는 다른 곳으로 CD 할 수 없습니다 : 내가 찍었을 그 가장 가까운이를 사용하는 것입니다.
저는 Windows를 사용하고 있으며 크로스 플랫폼으로 만들 계획이 없으므로 걱정하지 마십시오.
this page에서 직접 복사 한 다음 예제를 살펴보십시오. boost::filesystem
을 사용하므로 모든 주요 시스템에서 작동합니다.
int main(int argc, char* argv[])
{
path p (/* Specify a directory here */);
try
{
if (exists(p)) // does p actually exist?
{
if (is_regular_file(p)) // is p a regular file?
cout << p << " size is " << file_size(p) << '\n';
else if (is_directory(p)) // is p a directory?
{
cout << p << " is a directory containing:\n";
copy(directory_iterator(p), directory_iterator(), // directory_iterator::value_type
ostream_iterator<directory_entry>(cout, "\n")); // is directory_entry, which is
// converted to a path by the
// path stream inserter
}
else
cout << p << " exists, but is neither a regular file nor a directory\n";
}
else
cout << p << " does not exist\n";
}
catch (const filesystem_error& ex)
{
cout << ex.what() << '\n';
}
return 0;
}
그게 내가 원하는거야 : 3 내가 이해하지 못하는 한 가지 중요한 비트가있다. argv [1]은 무엇인가. 그들이 나에게 말했던 모든 것을 통해 "당신은 메인에 대한 논쟁으로 그것을 넣을 수 있지만 그것은 정말로 아무것도하지 않습니다." 나는 이제 그것이 어떤 목적을 가지고 있다고 가정한다. – Magicaxis
@Magicaxis 잠깐 답변을 수정하겠습니다. BTW, 귀하의 실행 파일이'listDir.exe'이고 명령 줄에'listDir.exe C : \ ExampleDir'을 입력 한 다음'argv [0] = listDir.exe'와'argv [1] = C : \ ExampleDir'라고 입력하십시오. argc = 2이다. c/C++에서의 구글'명령 행 인자'와 더 많이 알 수 있습니다 :). 그리고 이것이 당신의 대답이라면 그것을 표시하십시오. – Hindol
이 사이트의 [C++ - int main (int argc, char ** argv)] (http://stackoverflow.com/q/5217395/78845)도 참조하십시오. – Johnsyweb
winapi에서'Find :: FirstFile'과'FindFirstFile'의 조합을 사용하는 것이 마음에 든다. 어떤 환경 설정? –
POSIX 호환 시스템에서 opendir 및 관련 함수를 사용할 수 있습니다. - http://www.kernel.org/doc/man-pages/online/pages/man3/opendir.3.html –
가능한 복제본은 어떻게 얻을 수 있습니까? C 또는 C++을 사용하여 디렉토리에있는 파일 목록?] (http://stackoverflow.com/questions/612097/how-can-i-get-a-list-of-files-in-a-directory-using-c) - 또는 - c) –