2014-02-16 46 views
1

如何让用户输入文件夹名称并在桌面上创建它(对于mac)? 这是我迄今为止..(及其下方附加代码)如何使用C++在Mac上创建文件夹?

#include <iostream> 
#include <fstream> 
#include <sys/stat.h> 
#include <stdlib.h> 
#include <stdio.h> 
using namespace std; 

int main() 
{ 
    char game_name [100]; 
     cout << "Game Name: "; 
     cin >> game_name; 

     const char* homeDir = getenv ("Home"); 
     char final [256]; 
     sprintf (final, "%s/Desktop/%s",homeDir, game_name); 
     mkdir(final,0775); 

其他代码.... .... ... ..

return 0; 

} 

回答

1

环境变量区分大小写,因此您需要使用getenv("HOME")而不是getenv("Home")

+0

感谢。我搞砸了 – user3316925

2

使用Boost库(虽然会有你的系统,但它在C做许多其他的东西值得++上设置提升的开销):boost::filesystem::create_directories()

#include <boost/filesystem.hpp> 

// your code.... 

boost::filesystem::create_directories("/bla/a"); 
+1

Boost对于'mkdir()'是单纯的矫枉过正。但是,如果你有很多这样的系统调用,boost会使它更容易移植到其他操作系统。 –

+0

是的。这就是为什么我写了它的价值,如果他想用C++做其他很酷的东西。 – iankits

相关问题