【c++基础】遍历目录并写入txt文件-linux

前言

 

/******************************************************************************
* File: get_traindata.cpp
* Coder: AMY
* Email: happyamyhope@163.com
* Data: 20181107
*******************************************************************************/
#include <iostream>  
#include <stdio.h>  
#include <unistd.h>  
#include <dirent.h>  
#include <stdlib.h>  
#include <sys/stat.h>  
#include <string.h>  
#include <fstream>

//Global Variables.
char dir[100] = "/trainimg/right_eye/";  
int const MAX_STR_LEN = 200;  
std::ofstream traindata;
//Show all files under dir_name, do not show directories.  
void showAllFiles(const char* dir_name)  
{
     std::string path(dir_name);//or path = dir_name;
    //check the parameter.
    if( NULL==dir_name )  
    {  
        std::cout << "dir_name is null..." << std::endl;  
        return;  
    }  
    //check if dir_name is a valid dir.  
    struct stat s;  
    lstat(dir_name, &s);  
    if( !S_ISDIR(s.st_mode) )  
    {  
        std::cout << "dir_name is not a valid directory..." << std::endl;  
        return;  
    }  
    struct dirent* filename;//return value for readdir().  
    DIR* dir;//return value for opendir().  
    dir = opendir(dir_name);  
    if( NULL==dir )  
    {  
        std::cout << "Can not open dir..." << dir_name << std::endl;  
        return;  
    }  
    std::cout << "Successfully opened the dir..." << std::endl;  
    //read all the files in the dir. 
    while( (filename=readdir(dir)) != NULL )  
    {  
        //get rid of "." and ".."  
        if( strcmp(filename->d_name, ".")==0 || strcmp(filename->d_name, "..")==0 )  continue;  
        std::cout << filename->d_name << std::endl;  
        traindata << path+filename->d_name << std::endl;
        traindata << 1 << std::endl;
    }  
}   

int main()  
{  
    traindata.open("traindata.txt", std::ios::app);
    showAllFiles(dir);  
    traindata.close();
    return 0;  
}
View Code

 

参考

1.

https://www.itency.com/topic/show.do?id=310867

posted on 2018-11-07 17:13  鹅要长大  阅读(1106)  评论(0编辑  收藏  举报

导航