码迷,mamicode.com
首页 > 其他好文 > 详细

导出大批量图片的名字到txt文件的一种笨但有效的方法

时间:2015-05-07 08:57:03      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:c++   图像处理   

我经常对很多图片进行操作,所以经常要导出大批量图片的名字到txt文件里保存起来供后续批量处理图片。

我的方法是,假如你大量的图片存储在d:/img/里,那么你用鼠标选中img 文件夹,按住shift键,右键在此处打开命令窗口。

键入 TREE /F >d:\list.txt

这样在D盘就会生成一个list.txt文件,不过要手动删掉首尾的一些字和空行,这样剩下每一行的图片名字前都有空行,下面我贴出来我在网上找到的的用来去除这些空格的代码。

//

//本程序用于将文件中的多余空格去除并保存到另一文件中  
#include <iostream>  
#include <fstream>  
void alltrim(char *);  
using namespace std;  
void alltrim(char *str)  
{  
    char *p=str,*q=str;  
    bool notSpace=false;  
    while(*q==' ')  
        q++;  
    while(*q!='\0')  
    {  
        if (*q!=' ')   
        {  
            notSpace=true;  
            *p++=*q++; // 不是空格,复制     
        }  
        else if (notSpace)   //是空格,但目前是第一个(因为之前notSpace=true;的条件是遇非空格)  
        {                  
            notSpace=false;   //第一个空格仍然要复制  
            *p++=*q++;       
        }  
        else   //如遇第二个或更后的空格,正是由于遇到第一个空格并复制后,notSpace=false;的原因,会走到这儿  
        {  
            q++;   //不复制  
        }  
    }  
    *p='\0';  
}
int main()   
{  
    ifstream sourceFile;  
    ofstream targetFile;  
    char str[100];  
    int num_char=0, num_line=0;  
    int i;  
    sourceFile.open("list.txt<span style="font-family: Arial, Helvetica, sans-serif;">", ios::in);  </span>
    if(!sourceFile)       //测试是否成功打开    
    {    
        cerr<<"input file open error!"<<endl;    
        exit(1);    
    }    
    targetFile.open("nospace.txt", ios::out);  
    if(!targetFile)       //测试是否成功打开    
    {    
        cerr<<"output file open error!"<<endl;    
        exit(1);    
    }    
    while (!sourceFile.eof())   //一篇文章由多行构成  
    {     
        sourceFile.getline(str,100,'\n');     
        alltrim(str);  //删去多余空格  
        //保存删去空格后的字符  
        i=0;  
        while(*(str+i)!='\0')  
        {  
            targetFile.put(*(str+i));  
            ++i;  
        }  
        targetFile.put('\n');  
    }  
    sourceFile.close();  
    targetFile.close();  
    cout<<"处理完毕,请查看文件。"<<endl;  
    return 0;  
} 


导出大批量图片的名字到txt文件的一种笨但有效的方法

标签:c++   图像处理   

原文地址:http://blog.csdn.net/chenxi_wind/article/details/45541183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!