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.780 Categoria: C/C++ Subcategoria: Manipulação de Arquivos
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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)
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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+

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

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

Instalar o Unity 3D Web Player no Linux

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

Entrando em sites bloqueados

Listar arquivos de um diretório em C

Em C, escrever em arquivo fácil

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

Eclipse Plugin para C/C++

Harbour e xHarbour para programadores Clipper

#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.