Ir ao conteúdo
  • Cadastre-se

(Iniciante) Duvidas sobre manipulação de data e arquivos


etesser

Posts recomendados

Olá pessoal, sou novo no fórum e novo em programação tmbm, estou estudando C na faculdade e já quero fazer algumas coisas...

Quero fazer um programa simples que leia um txt com uma lista de aniversariantes, com datas e nomes, comparar essa tada com data atual, e se for o mesmo dia, ele roda uma musica (mp3 ou qualquer outro formato).

Meu problema esta em ler o txt e comparar a data.

posso usar um separador tipo

01/01/2010^Maria

01/02/2010^Pedro

03/03/2010^Paulo

Esse txt o meu ERP pode gerar como eu achar melhor, essa parte ta resolvida.

Link para o comentário
Compartilhar em outros sites

char data[11], hoje[11];

char nome[limite];

FILE *file;

fscanf(file, "%s^%s\n", data, nome);

Pesquise sobre o fscanf() pra ver o que significa esse monte de códigos.

aí você chama strcpy( hoje, ctime(time()) );

depois compara as duas strcmp(hoje, data);

Sobre executar a música, não existe função padrão para isso. Então tem duas soluções:

-Achar uma biblioteca que tenha uma função pré-programada que faça isso.

-Usar system("c:\...\Programaqueexecutamp3.exe musica.mp3"); A string enviada será executada exatamente como se fosse digitada no prompt, por isso você está executando um programa e passando o arquivo como argumento. Cada programa tem uma formatação de argumentos, alguns exigem atributos ("/s, /h, etc no windows. ou -s -h no Linux") outros nem aceitam argumento algum, só em modo gráfico. No Linux a maior parte dos programas podem ser chamados de qualquer lugar, como se fossem comandos do sistema ("firefox" abre o firefox automaticamente), mas no windows você tem que achar onde está o executável e referenciar o caminho completo.

Link para o comentário
Compartilhar em outros sites

char data[11], hoje[11];

char nome[limite];

FILE *file;

fscanf(file, "%s^%s\n", data, nome);

Pesquise sobre o fscanf() pra ver o que significa esse monte de códigos.

aí você chama strcpy( hoje, ctime(time()) );

depois compara as duas strcmp(hoje, data);

Sobre executar a música, não existe função padrão para isso. Então tem duas soluções:

-Achar uma biblioteca que tenha uma função pré-programada que faça isso.

-Usar system("c:\...\Programaqueexecutamp3.exe musica.mp3"); A string enviada será executada exatamente como se fosse digitada no prompt, por isso você está executando um programa e passando o arquivo como argumento. Cada programa tem uma formatação de argumentos, alguns exigem atributos ("/s, /h, etc no windows. ou -s -h no Linux") outros nem aceitam argumento algum, só em modo gráfico. No Linux a maior parte dos programas podem ser chamados de qualquer lugar, como se fossem comandos do sistema ("firefox" abre o firefox automaticamente), mas no windows você tem que achar onde está o executável e referenciar o caminho completo.

Opa, obrigado pela resposta, vou seguir nesse rumo e posto o resultado...

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...