Como criar um diretório em C/C++

Publicado por Thiago Henrique Hüpner em 25/02/2016

[ Hits: 54.159 ]

 


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":

#include <sys/types.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:
Bom é isto.

Muito obrigado a todos.

Espero ter ajudado.

[]'s
T+

Outras dicas deste autor

Programe em Ada, C, C++, Java, JavaScript e outras sem instalar nada em seu computador

Tecle: "Ctrl+Alt+Del" e abra o monitor do sistema Ubuntu

Central de Programas do Ubuntu no Linux Mint

Instalar o Unity 3D Web Player no Linux

Como usar o apt-get em versões antigas do Ubuntu

Leitura recomendada

Seu compilador GCC não funciona mais, como solucionar?

Em C, escrever em arquivo fácil

Listar arquivos de um diretório em C

Novo "estilo" do Python 2.6 e 3.0 para formatar strings

Como resolver o problema do ponto "." no teclado numérico do Linux Fenix Extreme

  

Comentários
[1] Comentário enviado por Arthur_Hoch em 26/02/2016 - 11:54h

Leia esse livro: https://duckduckgo.com/?q=Modern+Operating+Systems++pt_br&t=ffab

[2] Comentário enviado por removido em 27/02/2016 - 20:39h

Boa dica.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

[3] Comentário enviado por LucasG1995 em 20/08/2016 - 18:24h

Amigo como ficaria esse mesmo codigo em c++?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts