Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Opa, beleza. Esou fazendo uma função para pegar o nome de um arquivo. Esta função deve retornar um "string"(const char *string).
const char *string;
char GetFileName(const char *filename){
int cont = StrLen(filename)-1;
int cont2;
char nome[255];
string retorno = "";
int cont_retorno = 0;
while (filename[cont] != '\\'){
cont--;
}
cont++;
for (cont2 = cont; cont2 < StrLen(filename); cont2++){
nome[cont_retorno] = filename[cont2];
cont_retorno++;
}
nome[cont_retorno] = char(0);
retorno = nome;
return retorno;
}
porem o valor retornado pela função é um monte de caracteres estranahos. Se eu colocar antes do **return retorno** um **printf("%s", retorno)** o valor retorna corretamente.
alguem pode me ajudar a explicar o que está acontecendo?
Carregando comentários...