1.首先创建一个文件夹,并在该文件夹中,批量创建多个文本文件。
#include <iostream>
#include <fstream>
#include <sstream>
using namespace std;
int main()
{
int k = 1;
//system("mkdir d:\\output");//是在d盘下建立output文件夹
//system("mkdir d:program files\\output");
//(创建错误)路径若带空格,则无法建立,要采用在路径上加\"... \",即\"路径\",也就是下面这种形式
//system("mkdir \"d:program files\\output\""); 路径若带空格,建立正确
system("mkdir \"output\"");//是在当前main目录下建立output文件夹
for (k = 1; k != 4; ++k)
{
stringstream ss;//会自动析构,每一次循环会清空ss里面内容
ss << "output\\" << k << ".txt";
cout << ss.str() << endl;
//这里每个文本路径显示的是output\k.txt,这是真实的路径显示形式 (不是output\\k.txt)
ofstream fout(ss.str());
fout << "1";
fout.close();
}
system("pause");
return 0;
}
结果如下:
总结:不带空格的路径可以用system(“mkdir filename") 或者system("mkdir \"filename\" ")
带空格路径必须用system("mkdir \"filename\" ")(也就是说,路径前后要加上\ \)
所以尽量都用system("mkdir \"filename\" ")就确保万无一失了
若要显示析构string流,用strm.str("") 而不是strm.clear();
2. c++循环创建有规则的名字(例如person0-person100)的空文件夹
在一个文件夹中,批量创建有规则名字的空文件夹
#include <iostream>
#include <string>
#include <vector>
#include<list>;
using namespace std;
int main()
{
for (int i = 1; i <= 38; i++)
{
if (i <= 9){
string path = "D:\\project\\StructuredLight_Project\\MakeDir\\MakeDir\\cam_" + to_string(0) + to_string(i);
cout << path << endl;
path = "md " + path;
system(path.c_str());
}
else {
string path = "D:\\project\\StructuredLight_Project\\MakeDir\\MakeDir\\cam_" + to_string(i);
cout << path << endl;
path = "md " + path;
system(path.c_str());
}
}
return 0;
}
结果为: