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

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

[ Hits: 64.413 ]

 


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

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

Central de Programas do Ubuntu no Linux Mint

Entrando em sites bloqueados

Instalar o Unity 3D Web Player no Linux

Matrix no terminal Linux

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

Quadrados ou retângulos no lugar de texto [Resolvido]

Backports no Debian e atualizando kernel

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts