PDA

View Full Version : [C] m3u ti mp3


Krakz
28-11-2003, 19:48
# include <stdio.h>
# include <string.h>
# define MAX 350


main ( int argc , char *argv[] )
{
FILE *cfptr;
int i,size;
char m3u2mp3[MAX] = "wget ";

if ((cfptr = fopen ( argv[1] , "r" )) == NULL )
printf ("Impossibile aprire il file\n") ;

size=strlen(cfptr) ;

for ( i = 5 ; i < (size+5) ; i++)

{
m3u2mp3[i] = &cfptr[i] ;
} ;

system(m3u2mp3) ;

}





perche non funziona :muro: :muro:

cionci
29-11-2003, 09:00
Perchè in questo mdo non leggi dal file !!!
&cfptr[i];

Luc@s
29-11-2003, 12:42
# include <stdio.h>
# include <string.h>
# define MAX 350


main ( int argc , char *argv[] )
{
FILE *cfptr;
int size;
char m3u2mp3[MAX] = "wget ", * buf;

if ((cfptr = fopen ( argv[1] , "r" )) == NULL )
printf ("Impossibile aprire il file\n") ;
fread(buf, sizeof(char), 1, cfptr);
size=strlen(buf) ;
int m3_len = 5;
while( buf[size] != 0)
{
m3u2mp3[m3_len++] = buf[size--];
}
system(m3u2mp3) ;

}

Krakz
29-11-2003, 14:27
provato da

[krakz@localhost STUDIO]$ ./m3u2mp3 /home/krakz/Documents/mp3/123prova.m3u
Segmentation fault


:muro: :muro: :muro:

cionci
29-11-2003, 16:24
Prima di lanciare l'esecuzione usate printf per stampare il contenuto della stringa...e vedrete che ce ne sono di problemi...
Uno fra tutto lo '\0' !!

Luc@s
29-11-2003, 16:31
Originariamente inviato da cionci
Prima di lanciare l'esecuzione usate printf per stampare il contenuto della stringa...e vedrete che ce ne sono di problemi...
Uno fra tutto lo '\0' !!
quindi il mio cod è errato?

cionci
29-11-2003, 16:33
Originariamente inviato da Luc@s
quindi il mio cod è errato?
Sì...manca lo \0...e poi perchè inserisci i caratteri al contrario ?