Ir ao conteúdo
  • Cadastre-se
MassakiMsk

Função de diretório em c?

Recommended Posts

Pessoal, queria saber se tem em C alguma função que retorne o local onde o código está salvo. Pode ser o executável também.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@MassakiMsk No C padrão eu não sei se existe, mas da pra fazer utilizando o system("dir >> pasta.txt");

Com esse comando ele vai dar um dir e salvar tudo em um arquivo, você só precisa fazer uma função que lê esse arquivo e pegar a 3 ou 4 linha que tem a localização da pasta.

 

C:\Users\PC>dir
 O volume na unidade C não tem nome.
 O Número de Série do Volume é F856-6933

 Pasta de C:\Users\PC

21/05/2016  04:00    <DIR>          .
21/05/2016  04:00    <DIR>          ..

Nesse exemplo, você pode sair lendo de string em string do arquivo. ai quando encontrar uma string onde o S[0] é igual a "c/C", e o s[1] é igual a ":", você vai ter encontrado o diretório.

Isso é gambiarra, mas é a única forma que conheço. No .net deve ser bem mais fácil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@CiroboyBR Acabei de lembrar aqui que tem outro jeito mais fácil:

 

#include <windows.h>
#include <iostream>

using namespace std;

int main() {
 //captura a tela
    char title[1024];
    HWND hwndHandle = GetForegroundWindow();
    GetWindowText(hwndHandle, title, 1023);

    cout << "Janela: " << title << endl;

return 0;
}

Ai você só precisa formatar a string título para obter o diretório do executável.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@CiroboyBR

14 minutos atrás, CiroboyBR disse:

@CiroboyBR Acabei de lembrar aqui que tem outro jeito mais fácil:

 


#include <windows.h>
#include <iostream>

using namespace std;

int main() {
 //captura a tela
    char title[1024];
    HWND hwndHandle = GetForegroundWindow();
    GetWindowText(hwndHandle, title, 1023);

    cout << "Janela: " << title << endl;

return 0;
}

Ai você só precisa formatar a string título para obter o diretório do executável.

Valeu, isso serve, apesar de ser difícil decorar kkkkkkkk

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×