通过在LINUX中使用C ++,显示文件包含在特定目录中

我正在为我的大学工作。 我有一个关于如何显示特定目录内包含的所有文件的问题。 我的工作环境是LINUX UBUNTU 14.04 G ++编译器。

我们举个例子,我想显示/输出这个DIRECTORY里面的所有文件

/home/user/Desktop/TEST/FileSystem File contains inside FOLDER FileSystem -test.txt -abc.txt -item.txt -records.txt 

我不确定是否可以通过使用:

– 使用执行系统命令,通过调用标准库头。

 #include <iostream> #include <stdlib.h> int main() { system("pwd"); // Directory: /home/user/Desktop/TEST/FileSystem system("ls"); // Display every files contain in the FileSystem Folder } 

我期望的OUTPUT:

 /FileSystem Folder contains: -test.txt -abc.txt -item.txt -records.txt 

我如何编码我的源代码,以便能够实现我期望的OUTPUT / Display。 我已经通过search一些互联网来源。 但是我发现理解它有困难。 这就是为什么我决定在这里发表我的问题。

感谢您提前帮助我解决我的编码问题。

您需要先打开需要列出文件的目录,然后才需要读取目录。

添加#include以使用apis。

 #include <dirent.h> /* open the directory "/home/" for reading. */ DIR* dir = opendir("/home/users"); entry = readdir(dir)); //files or directories in /home //Add logic to verify entry is file or directory 

请参阅此线程http://www.cpp-home.com/tutorials/107_6.htm

功能

 system("ls") 

只是发射命令,但你错过了命令ls的输出。 你需要捕捉它。 在这个其他线程中解释了如何做到这一点。