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

我经常对很多图片进行操作,所以经常要导出大批量图片的名字到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文件的一种笨但有效的方法

相关文章:

你感兴趣的文章:

标签云: