Como criar um diretório no C ++

Se você deseja criar um diretório, você pode ligar para o mkdir função. Se a função pode criar o diretório para você, ele retorna um 0. Caso contrário, ele retorna um valor diferente de zero. (Quando você executá-lo você recebe um -1, mas sua melhor aposta - sempre - é testá-lo contra a 0.)

Aqui está um código de exemplo (encontrado na MaKeDIRectory exemplo) que utiliza esta função:

#incluir #include #include using namespace std-int main () {if (mkdir ( "../ abc")! = 0) {cout lt; lt; "Eu sinto muito. Eu não estava" lt; lt; endl-cout lt; lt; "Capaz de criar seu diretório" lt; lt; endl-cout lt; lt; "Como você me pediu. Eu espero" lt; lt; endl-cout lt; lt; "Você ainda são capazes de atingir" lt; lt; endl-cout lt; lt; "Seus objetivos na vida. Agora vá embora." lt; lt; endl-} return 0-}

Aviso (como de costume) que usou uma barra (/) na chamada para mkdir. No Windows, você pode usar uma barra ou uma barra invertida. Mas se você usar uma barra invertida, você tem que usar dois deles (como faria normalmente para obter uma barra invertida em cadeia de caracteres de um C ++).

Por uma questão de portabilidade, utilize sempre uma barra. Depois de executar este exemplo, você deve ver um novo diretório chamado abc adicionado ao / CPP_AIO / BookV / Chapter04 diretório em seu sistema.

Seria bom para criar uma estrutura de diretório de árvore inteira de uma só vez - fazendo uma chamada, como mkdir ( "/ abc / def / ghi / jkl") sem ter qualquer um dos abc, def, ou ghi listas já existente. Mas, infelizmente, você não pode. A função não irá criar um jkl directório a menos que o / Abc / def / ghi existe diretório. Isso significa que você tem que quebrar essa chamada em várias chamadas: Primeiro crie /abc. Em seguida, crie / Abc / def, e assim por diante.

Se você quiser fazer todos os diretórios de uma vez, você pode usar o sistema() função. Se você executar system ( "mkdir abc def ghi jkl") -, você será capaz de fazer o diretório em uma só penada.

menu