2012-07-16 48 views
0

我尝试使用wxMkdir函数在我的C++程序中创建一个新目录。目录 /home/test/Documents/MATLAB/mydata/demo已经存在。但是,下面的代码Ubuntu上的wxMkdir

wxString dataDirectory = wxT("/home/test/Documents/MATLAB/mydata/demo/A"); 

if(! wxDirExists(dataDirectory)) 
{ 
    wxMkdir(dataDirectory); 

} 

会弹出一个运行时错误对话框说

目录 '/家/测试/文档/ MATLAB/MYDATA /演示/ A' 无法创建(误差2 :没有这样的文件或目录)

和目录demo下的目录A将不会被创建。但是,如果我将所需目录更改为/home/test/Documents/MATLAB/mydata/A,则一切正常。

那么在wxWidgets的Ubuntu实现中,wxMkdir的最大目录深度是多少?但是,在Mac下没有看到此问题。我搜索了网页,并没有得到任何有意义的东西。任何人有更好的主意?

回答

0

如果mkdir失败,出现“没有这样的文件或目录”的错误,通常意味着父目录不存在(或者是一个悬挂的符号链接)。想必这同样适用于wxMkdir

/home/test/Documents/MATLAB/mydata/demo已经存在吗?可以肯定的是,它是一个目录吗?

(如果这不是问题,我会删除这个答案,并将其添加注释。)

+0

基思,你是绝对正确的。我刚查过,发现'demo'目录实际上是'Demo'目录。难怪它没有奏效。谢谢! – 2012-07-16 23:11:57