Red de conocimiento informático - Material del sitio web - Ayuda para guerreros usando el lenguaje C

Ayuda para guerreros usando el lenguaje C

#include

#include

//struct para ID3V1

typedef struct tagID3{

char etiqueta[3]; //"TAG"

char título[30]; //título

char artista[30] //artista

char album[30]; //álbum

char año[4]; //año

char comentario[30]; //comentario

char genero; carácter nulo relleno

}ID3Struct,*pID3Struct;

int main()

{

FILE *mp3File = NULL;

int main()

{

ARCHIVO *mp3File = NULL;

p>

char mp3FileName[FILENAME _MAX] = { 0};

ID3Struct id3Struct;

// Se utiliza para generar información

char tag[4 ] = {0}; título de carácter[31] = {0};

artista de carácter[31] = {0};

álbum de carácter[ 31] = {0};

char año[5] = {0};

char comentario[31] = {0};

char género ;

char extensiónFilaName[5] = {0}; //Guardar extensión

printf("Ingrese la ruta completa del mp3:"); //por ejemplo, c:\ mp3

//La longitud debe ser. mayor o igual a 5 para garantizar que sea un archivo*.

if (strlen(mp3FileName) < 5)

{

printf("Nombre del archivo Error");

return 1;

}

memcpy(extentFilaName,&mp3FileName[strlen(mp3FileName) - 4],4);

//Juzga el nombre de la expansión

if (strcmp (extentFilaName,".mp3") ! = 0)

{

printf("Error de nombre de expansión de archivo");

devuelve 1;

}

mp3File = fopen(mp3FileName, "rb");

if (mp3File == NULL)

{

printf("El archivo no existe ! ") )

Devuelve 1;

}

fseek(mp3File,-sizeof(ID3Struct),SEEK_END);

//mp3 Si hay una marca TAG, la longitud debe ser mayor que 128

if (ftell(mp3File) & lt; sizeof(ID3Struct))

{

printf("¡Longitud del archivo inferior a 128 bytes sin indicador de etiqueta!")

fclose(mp3File);

Devuelve 1;

}

fread(&id3Struct,1,sizeof(ID3Struct),mp3File);

memcpy(tag, id3Struct.tag,3);

memcpy(title,id3Struct.title,30);

memcpy(artista,id3Struct.artist,30);

memcpy(album,id3Struct.album ,30);

memcpy(año,id3Struct.año,4);

memcpy(comentario,id3Struct.comment,30);

if (strcmp (etiqueta, "TAG") ! = 0)

{

printf("Etiqueta ETIQUETA no encontrada\n");

}

else

{

printf("título: %s\n", título);

printf("artista%s\n", artista);

printf("álbum:

printf("%s\n",álbum);

printf("año:%s\n ",año);

printf("comentario:%s\n",comentario);

}

fclose(mp3File);

devuelve 0;

}

Algunos archivos de formato mp3 no tienen etiquetas

.