zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    JAVA课程设计
    201521123085 《Java程序设计》第14周学习总结
    201521123065《java程序设计》第13周学习总结
    软工结对编程
    软工个人作业2
    软工网络16个人作业1
    201621123008 《Java程序设计》第14周学习总结
    201621123008 《Java程序设计》第13周学习总结
    201621123008 《Java程序设计》第12周学习总结
    201621123008 《Java程序设计》 第11周学习总结
  • 原文地址:https://www.cnblogs.com/happyamyhope/p/9923756.html
Copyright © 2011-2022 走看看