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

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

[ Hits: 63.595 ]

 


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

Matrix no terminal Linux

Central de Programas do Ubuntu no Linux Mint

Equação de 2° Grau Shell Script - Zenity

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

Instalador Skype automatizado - Zenity

Leitura recomendada

Em C, escrever em arquivo fácil

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

Listar arquivos de um diretório em C

Campanhas para MegaGlest usando Python

normalize-audio - ajustando a amplitude de seus mp3/ogg

  

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