Pular para o conteúdo

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

Dica publicada em C/C++ / Manipulação de Arquivos
Thiago Henrique Hüpner Thihup
Hits: 65.783 Categoria: C/C++ Subcategoria: Manipulação de Arquivos
  • Indicar
  • Impressora
  • Denunciar

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+

Instalar o Unity 3D Web Player no Linux

Entrando em sites bloqueados

Instalador Skype automatizado - Zenity

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

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

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

Em C, escrever em arquivo fácil

Listar arquivos de um diretório em C

Mais um curso de linguagem C

CodeBlocks - IDE C++ no Ubuntu 12.04

#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

Entre na sua conta para comentar.