[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [off] Dúvida em programaçã o em c abrir lista do xmms.



consegui fazer com o comando 
sed '/[Ee][Xx][Tt]/d' lista_xmms

mais tem como fazer com c?

 --- Pablo Henrique Sirio Tejero Cantero
<pablohstc@yahoo.com.br> escreveu: > Bom dia.
> 
> Estou tentado fazer um programa em c que vai ler um
> arquivo
> de texto na verdade a lista xmms(player de mp3),
> para
> gravar um cd de audio baseado na lista chamando a
> função
> 
> 
> system("mpg123 --cdr - ARQUIVO_QUE_VOU
> CONCATENAR_VINDO_DA_LISTA_DO_XMMS
> | cdrecord -v speed=4 dev=0,0,0 -nofix -audio -");
> 
> tudo bem consigo ler o a lista e imprimir na tela
> exemplo
> do que sai na tela.
> 
> #EXTM3U
> #EXTINF:621,Antonio Vivaldi - Summer
> /mnt/hda7/Musicas/Vivaldi - Four Seasons -
> Summer.mp3
> #EXTINF:302,ANGRA - CARRY ON
> /mnt/hda7/Musicas/Angra - Carry On.mp3
> #EXTINF:340,Angra - Judgement Day
> /mnt/hda7/Musicas/Angra - Judgement Day.mp3
> #EXTINF:291,Angra - Nova era
> /mnt/hda7/Musicas/Angra - Nova era.mp3
> 
> Ou seja primeira linha 
> #EXTM3U --> informação inutil para meu programa
> #EXTINF:621,Antonio Vivaldi - Summer --> informação
> inutil
> para meu programa
> /mnt/hda7/Musicas/Vivaldi - Four Seasons -
> Summer.mp3
> --> Informação que preciso para meu programa.
> Ou seja primeira linha ignoro depois vou na rotina
> pulo
> uma linha leio a próxima pulo uma linha leio a
> próxima
> e por ai vai...
> 
> Tem como fazer algo parecido com o fseek? Pois não
> estou
> sabendo em qual momento estou pulando linha ou não.
> 
> int fseek( FILE *fp, long offset, int whence
> 
> Oque e esse paramentro long offset???
> 
> Segue abaixo o script.
> 
> Grato,
> Pablo Henrique
> 
> 
> 
> #include <stdio.h>
> #include <stdlib.h>
> 
> int fsize(FILE *fp);
> 
> int main(int argc, char **argv){
> 	FILE *fp;
> 	char *musicas;
> 	int i;
> 	if(argc < 2){
> 		printf("\nparametros incorretos!\n");
> 		exit(1);
> 	}
> 	if((fp = fopen(argv[1],"r")) == NULL){
> 		printf("\narquivo não encontrado\n");
> 	}
> 	musicas = (char *) malloc(sizeof(char) *
> fsize(fp));
> 	if(musicas == NULL){
> 		printf("\nfalta de memória\n");
> 		exit(0);
> 	}
> 	i = 0;
> 	while(!feof(fp)){
> 		musicas[i] = fgetc(fp);
> 		printf("%c",musicas[i]);
> 		i ++;
> 	}
> 	fclose(fp);
> 	return(0);
> }
> 
> 
> int fsize(FILE *fp){
> 	int contador = 0;
> 	char tmp[1];
> 	while(!feof(fp)){
> 		contador ++;
> 		tmp[0] = fgetc(fp);
> 	}
> 	//volta para o inicio do arquivo
> 	fseek(fp,0,SEEK_SET);
> 	return(contador);
> }
> 
> 
> -- 
> To UNSUBSCRIBE, email to
> debian-user-portuguese-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
>  

_______________________________________________________________________
Yahoo! Mail
O melhor e-mail gratuito da internet: 6MB de espaço, antivírus, acesso POP3, filtro contra spam. 
http://br.mail.yahoo.com/



Reply to: