C++及Qt中创建⽂件夹的⽅法经验总结预谋 许佳慧
C++及Qt中创建⽂件夹的⽅法经验总结
window中⽤C++创建⽂件夹的⽅法
以是⼏种证实有效的⽅法。
建元是我国哪一个皇帝使用的年号1.利⽤system函数调⽤DOS命令
C++中的system函数 是可以调⽤⼀些DOS命令,也就是像DOS和Linux哪像发送⼀条命令达到我么想要的成果。DOS中创建⽂件夹的命令时mkdir,使⽤代码如下:
string command ="mkdir -p "+ path;
system(command.c_str());
2.CreateDirectory()函数
CreateDirectory()函数需要引⽤ <direct.h>头⽂件,函数原型为:
BOOL CreateDirectory(
LPCTSTR lpPathName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes梵高星空
);
第⼀个参数为地址,注意是LPCTSTR 类型的,有关LPCTSTR我当时查阅了好久,准备再写⼀篇博客介绍,这⾥不再赘述,有兴趣的可以看看。
第⼆个参数可忽略,⼀般写作NULL即可。
心情压抑的签名CreateDirectory((LPTSTR)"D:\\Qt\\new",NULL);
**注意1:这个函数只能⼀级⼀级的创建⽂件夹,⽆法⼀次创建多级⽂件夹
**注意2:这个函数在VS中需要做需改才能⽤,在Qt中⾄今还不知道怎么能⽤
有关第⼆条注意的说明:
刚开始使⽤时总是创建不出来⽂件夹,后来查阅别⼈的博客,到了原因。在VS中需要做如下修改才能正常使⽤不出错
⼯程属性-----》常规—》项⽬默认值—》字符集选项, 改设成‘未设置’,
猜测可能是和字符编码有关。
在Qt中不到类似的修改⽅式,⽤CreateDirectory()函数创建不出来⽂件夹。
3.Qt独有的创建⽂件夹的⽅法
先上代码:
string projectPath =getcwd(nullptr,255);
//创建数据处理⽬录
QDir dir;
矮牵牛dir.cd("./aaa");
if(!ists("bbb"))//判断需要创建的⽂件夹是否存在
{
唐三有20个魂环吗dir.mkdir("bbb");//创建⽂件夹
} aaa
以上的cd、exists、mkdir函数均包含在头⽂件中。cd和DOS命令⾏中的效果⼏乎完全⼀样,exists检查⽂件夹是否存在,mkdir创建⽂件夹。
待解决问题
1. direct.h头⽂件中的mkdir()函数。
在windows中创建失败,可能只能在linux中使⽤,后⾯⽤到Linux时会进⾏验证
2.CreateDirectory()使⽤失败的详细原因
以上是我第⼀篇博客,经验的⼩总结,有不对或者还要补充的请及时指正,⼤家共同进步。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论