我正在为我的大学工作。 我有一个关于如何显示特定目录内包含的所有文件的问题。 我的工作环境是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
功能
system("ls")
只是发射命令,但你错过了命令ls的输出。 你需要捕捉它。 在这个其他线程中解释了如何做到这一点。