Jump to content

Recommended Posts

Posted

Boas estou a iniciar em C e tenho alguns conhecimentos em java mas também muito poucos.

tenho que criar um programa que peça para a abrir um ficheiro com uma determinada extensão senão dar erro e depois carregar todas as linhas desse ficheiro para um array ou vector(algo que tenho de decidir qual o melhor).

A minha questão e de como é que faço para ele verificar a extensão do ficheiro que vamos indicar ?

Posted (edited)

Podes calcular a posição do último ponto numa string com a função strrchr(). Depois de saberes essa posição (se existir) podes aceder aos últimos caracteres da string (que devem corresponder à extensão).

Por exemplo:

/* NAO TESTADO */
char filename[] = "um.dois.tres.txt";
char *ultimoponto;

ultimoponto = strrchr(filename, '.');
if (ultimoponto == NULL) /* erro: ficheiro sem extensão */;
     /* distracao removida thanks to bsccara */
     if (strcmp(ultimoponto + 1, "doc") == 0) printf("Microsoft\n");
else if (strcmp(ultimoponto + 1, "pdf") == 0) printf("Adobe\n");
else if (strcmp(ultimoponto + 1, "odf") == 0) printf("OpenOffice\n");
else                                          printf("Desconhecido\n");
Edited by pmg
GeSHi update

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.