*
(와일드 카드)을 사용하여 여러 파일을 제거하려면 (remove()
사용) 어떤 방법이 있습니까? 모두 색인으로 시작하는 일련의 파일이 있습니다. 예 : Index1.txt
, Index-39.txt
등 모두 색인으로 시작하지만 어떤 텍스트가 올지 알 수 없습니다. 동일한 디렉토리에 다른 파일도 있으므로 모든 파일을 삭제해도 작동하지 않습니다.와일드 카드를 사용하여 C에서 여러 파일을 제거하는 방법?
나는 당신이 디렉토리를 읽을 수 있고, 각 파일 이름을 반복하고, 첫 번째 5 개의 문자를 읽고, 비교하고, 그 다음에 삭제한다면, 더 쉬운 방법이 있는지 알고있다. (이것이 현재 내가하는 일이다) ?
이 코드는 Linux와 Windows에서 실행되므로 표준 C입니다.
system("del index*.txt"); // DOS
system("rm index*.txt"); // unix
Here 표준 C 라이브러리의 일부 (cstdlib) 인 system()
전화에 대한 몇 가지 문서입니다 : 당신이 특정 플랫폼 인 괜찮다면
답변 해 주셔서 감사합니다. 사람들이 BS를하는 대신 뭔가를 할 수 없을 때 사람들에게 알려주면 항상 감사합니다. – Uri
유닉스에서 와일드 카드를 정규식으로 변환하는 대신 fnmatch (http://www.opengroup.org/onlinepubs/000095399/functions/fnmatch.html)를 사용해야합니다. –