2014-02-16 8 views
1

Как вы вводите имя папки и создаете ее на рабочем столе (для Mac)? Это то, что я до сих пор .. (и дополнительный код внизу)Как создать папку на Mac с C++?

#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

Использование Повысьте библиотеки (хотя там будет накладные расходы установки подталкивание в вашей системе, но его ценность для выполнения многих других материалов в C++): boost::filesystem::create_directories()

#include <boost/filesystem.hpp> 

// your code.... 

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

Boost - это избыток для 'mkdir()' один. Однако, если у вас много таких системных вызовов, boost будет намного проще переносить на другие операционные системы. –

+0

Да. Вот почему я написал свою ценность, если он хочет делать другие интересные вещи на C++. – iankits

Смежные вопросы