Heim > Backend-Entwicklung > C++ > Wie erhalte ich mit C/C++ eine Liste der Dateien in einem Verzeichnis?

Wie erhalte ich mit C/C++ eine Liste der Dateien in einem Verzeichnis?

王林
Freigeben: 2023-09-09 21:41:02
nach vorne
878 Leute haben es durchsucht

Wie erhalte ich mit C/C++ eine Liste der Dateien in einem Verzeichnis?

Standard C++ bietet hierfür keine Möglichkeit. Sie können den Systembefehl verwenden, um den ls-Befehl wie unten gezeigt zu initialisieren -

Beispiel

#include<iostream>
int main () {
   char command[50] = "ls -l";
   system(command);
   return 0;
}
Nach dem Login kopieren

Ausgabe

Dies ergibt die Ausgabe -

-rwxrwxrwx 1 root root  9728 Feb 25 20:51 a.out
-rwxrwxrwx 1 root root   131 Feb 25 20:44 hello.cpp
-rwxrwxrwx 1 root root   243 Sep  7 13:09 hello.py
-rwxrwxrwx 1 root root 33198 Jan  7 11:42 hello.o
drwxrwxrwx 0 root root   512 Oct  1 21:40 hydeout
-rwxrwxrwx 1 root root    42 Oct 21 11:29 my_file.txt
-rwxrwxrwx 1 root root   527 Oct 21 11:29 watch.py
Nach dem Login kopieren

Wenn Sie Windows verwenden, können Sie dir anstelle von ls verwenden, um die Liste anzuzeigen .

Beispiel

Sie können das Direktpaket (https://github.com/dir/ls) verwenden. com/tronkko/dirent), um eine flexiblere API zu verwenden. Sie können es wie folgt verwenden, um die Dateiliste zu erhalten:

#include <iostream>
#include <dirent.h>
#include <sys/types.h>

using namespace std;
void list_dir(const char *path) {
   struct dirent *entry;
   DIR *dir = opendir(path);
   
   if (dir == NULL) {
      return;
   }
   while ((entry = readdir(dir)) != NULL) {
   cout << entry->d_name << endl;
   }
   closedir(dir);
}
int main() {
   list_dir("/home/username/Documents");
}
Nach dem Login kopieren

Ausgabe

Dies ergibt die Ausgabe: -

a.out
hello.cpp
hello.py
hello.o
hydeout
my_file.txt
watch.py
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit C/C++ eine Liste der Dateien in einem Verzeichnis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage