某人有个不好的习惯,每次做题之前都喜欢新建一个今天的时间为名字的文件夹,然后在这个文件夹里新建“A题” “B题”等文件夹,最后才在“A题”目录下新建“A.cpp",这样固然很美观,但是每次都这样做不免繁琐,于是某人就问我能不能自动新建这样的目录。
要新建这样的目录需要用到这些数据:
目录路径,系统时间。
获取系统时间可以使用ctime函数,先定义一个time_t t=time(NULL)就获取了当前的系统时间,其格式是char *,再作适当处理就可以生成目录的名字了。
而C++里面刚好有这样用于调试的变量。__FILE__存储的是文件的目录,只要拿到这个程序的目录,就可以在这个目录下新建某人想要的目录了。
参考命令
1.新建目录 cmd:md +目录路径
2.新建文件 C++命令 ofstream file(文件路径)
代码如下:
#include<bits/stdc++.h> using namespace std; int main() { cout<<"Input the number of porblems:\n"; struct tm *local; time_t t=time(NULL); //printf("%s",ctime(&t)); string temp=ctime(&t); string s2; int sum=1; for(int i=0;i<temp.size();i++) { if(sum==2 || sum==5 || sum==3) s2+=temp[i]; if(temp[i]==' ') sum++; } s2.erase(s2.end()-1); for(auto &c:s2) c=(c==' '?'-':c); //cout<<s2<<endl; int n; cin>>n; string s4="md ",s1=__FILE__,s3="\\"; string::iterator it; for(it=s1.end()-1;;it--) if(*it!='\\') s1.erase(it); else break; s1.erase(it); string s=s4+s1+s3+s2; //cout<<s<<endl; system(s.c_str()); for(int i=0;i<n;i++) { string s5="\\Problem-A"; s5[s5.size()-1]='A'+i; string ans=s+s5; //cout<<ans<<endl; system(ans.c_str()); string s6="\\A.cpp"; s6[1]='A'+i; ans+=s6; for(auto &c:ans) c=(c=='\\'?'/':c); for(it=ans.begin();;it++) if(*it==' ') break; ans.erase(ans.begin(),it+1); //cout<<ans<<endl; ofstream file(ans); } return 0; }
原文链接: https://www.cnblogs.com/xionglinlin/p/5043002.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/225784
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!