- Windows 7, 64bit
- Microsoft Visual Studio 2010 (32 bit 專案)
- Library:Boost 1.50.0
(如果需要Boost安裝教學的人可以參考這篇: Boost C++ Library 的安裝)
這篇要教的是如何得到或列出某個資料夾底下的檔案 (包括資料夾和其他檔案)。
#include <iostream>
#include <vector>
#include <boost\filesystem.hpp>
namespace bfs = boost::filesystem;
using namespace std;
#include <vector>
#include <boost\filesystem.hpp>
namespace bfs = boost::filesystem;
using namespace std;
// assign the path of the directory
// 指定要取得資料夾的路徑
bfs::path myDir = "Test"
// the files under the directory will store in the vector
// 宣告一個 vector, 用來儲存取得的檔案
vector<bfs::path> myFiles;
// copy all file names which are under the directory to the vector
// 將資料夾下的檔案全部copy到剛剛宣告的vector
if ( bfs::exists (myDir) )
copy( bfs::directory_iterator(myDir), bfs::directory_iterator(), back_inserter(myFiles) );
// list all the file names
// 列出資料夾下的所有檔案
for (int i = 0; i < myFiles.size(); i++)
cout<<myFiles[i]<<endl;
// 指定要取得資料夾的路徑
bfs::path myDir = "Test"
// the files under the directory will store in the vector
// 宣告一個 vector, 用來儲存取得的檔案
vector<bfs::path> myFiles;
// copy all file names which are under the directory to the vector
// 將資料夾下的檔案全部copy到剛剛宣告的vector
if ( bfs::exists (myDir) )
copy( bfs::directory_iterator(myDir), bfs::directory_iterator(), back_inserter(myFiles) );
// list all the file names
// 列出資料夾下的所有檔案
for (int i = 0; i < myFiles.size(); i++)
cout<<myFiles[i]<<endl;
如上程式碼,就會將"Test"資料夾底下所有的檔案存放到myFiles中。輸出結果如下:
沒有留言:
張貼留言