1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

C++ Verificar se uma pasta existe

Discussão em 'Programação' iniciada por monkeypuke, 18 de Fevereiro de 2009. (Respostas: 10; Visualizações: 2302)

  1. monkeypuke

    monkeypuke Power Member

    Boas.
    Eu quase nada percebo de c++, por isso gostaria de vos perguntar se existe alguma maneira de verificar se uma pasta existe ou não e, se ela não existir, criá-la.

    Obrigado
     
  2. skullrazor

    skullrazor [email protected] Member

    Em c++ não faço a mínima ideia como se faz, mas usando um ficheiro batch é possível, ficara mais ou menos assim:

    Código:
     @ECHO OFF
    title Folder nomedapasta
    if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto End
    if NOT EXIST nomedapasta goto CRIAR
    :CRIAR
    md nomedapasta
    exit
    :End
    exit 
    Atenção que onde diz "nomedapasta" tens de escrever a mesma coisa, pois será o nome que a pasta terá logo terá de coincidir na verificação e na criação da mesma caso não exista...

    Espero ter ajudado :D

    Cumps
     
  3. monkeypuke

    monkeypuke Power Member

    Em batch em sei que dá. o que eu queria mesmo era em c++. mas obrigado na mesma.

    Cumpz
     
  4. OubeLa

    OubeLa Power Member

    Provavelmente em C++ vais ter de recorrer à API do SO.
     
  5. M.cnf

    M.cnf Power Member

    Hum usar exec's para executar um script bash não serviria?
     
  6. ramaro007

    ramaro007 [email protected] Member

  7. sportingdan

    sportingdan I'm cool cuz I Fold

  8. blueomega

    blueomega Power Member

    da de certeza

    se tiver o path completo c:\qualquercoisa\pastaX ou caminho relativo e vereficar se pastaX existe é simples, é so fazer uma pesquisa em profundidade pelos directorios

    se for procurar num directorio qualquer (não vejo grande utilidade nisso), tens que vereficar em cada directorio e expandir recursivamente os directorios existentes dentro do mesmo
     
  9. OubeLa

    OubeLa Power Member

    Eu tenho isso feito (parecido) usando a API de um sistema Unix, usando a estrutura dirent. Não será exactamente igual em Windows, porque as chamadas ao SO serão diferentes, suponho.
     
  10. blueomega

    blueomega Power Member

    depende do compilador que uses

    dirent é um header na libraria posix, ha implementações do dirent gratis pra windows

    tens igualmente boost ou ports do cygwin

    vê isto deve chegar
    http://www.lingoport.com/gi/help/gihelp/unsafeMethod/filepath.htm
     

Partilhar esta Página