Como criar um diretório em C/C++
Dica publicada em C/C++ / Manipulação de Arquivos
Como criar um diretório em C/C++
Olá!
Nesta dica irei mostrar como criar um diretório utilizando a linguagem C, mas é válido também para C++.
Para isto precisaremos incluir 3 "headers":
E criamos um variável do tipo struct stat para armazenar o estado da pasta.
Colocamos as informações da pasta escolhida na variável "estado" e verificamos. Se o retorno for -1 significa que o diretório não existe.
A função stat retorna 0 se o diretório existir, caso contrário, retorna -1.
E finalmente criamos o diretório:
O primeiro argumento é a pasta [com a localização] que será criada e o segundo parâmetro é o modo de acesso a pasta, igual utilizado no chmod. O retorno é 0 se foi criado com sucesso, caso não, será retornado o valor -1. Verificamos o retorno só para ter garantia de que foi criado.
Bom, é isto. Segue o código completo:
Alguns links uteis:
Bom é isto.
Muito obrigado a todos.
Espero ter ajudado.
[]'s
T+
Nesta dica irei mostrar como criar um diretório utilizando a linguagem C, mas é válido também para C++.
Para isto precisaremos incluir 3 "headers":
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <sys/stat.h>
#include <unistd.h>
E criamos um variável do tipo struct stat para armazenar o estado da pasta.
struct stat estado = {0};
Colocamos as informações da pasta escolhida na variável "estado" e verificamos. Se o retorno for -1 significa que o diretório não existe.
if (stat("/tmp/vaco", &st) == -1)
A função stat retorna 0 se o diretório existir, caso contrário, retorna -1.
E finalmente criamos o diretório:
mkdir("/tmp/vaco", 0700);
O primeiro argumento é a pasta [com a localização] que será criada e o segundo parâmetro é o modo de acesso a pasta, igual utilizado no chmod. O retorno é 0 se foi criado com sucesso, caso não, será retornado o valor -1. Verificamos o retorno só para ter garantia de que foi criado.
Bom, é isto. Segue o código completo:
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
int main(int argc, char *argv[]){
struct stat st = {0};
if (stat("/tmp/vaco", &st) == -1) {
if(mkdir("/tmp/vaco", 0700) == 0){
printf("Diretorio criado");
}
}
return 0;
}
Alguns links uteis:
- http://linux.die.net/man/2/stat - mais informações sobre o comando e a estrutura stat
- http://linux.die.net/man/2/mkdir - mais informações sobre o comando mkdir
- http://linux.die.net/man/3/chmod - mais informações sobre o chmod
Bom é isto.
Muito obrigado a todos.
Espero ter ajudado.
[]'s
T+