In der Hoffnung, dass ID3v1 zur Anwendung kommt....setzt den Cursor in der Datei auf Schluss - 128 (128 Bytes vor Schluss) und liest diese 128 Bytes in einen char- oder bytearray. Dieser Bytearray entspricht dann einem struct.
Gruß
mbmun
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
In der Hoffnung, dass ID3v1 zur Anwendung kommt....setzt den Cursor in der Datei auf Schluss - 128 (128 Bytes vor Schluss) und liest diese 128 Bytes in einen char- oder bytearray. Dieser Bytearray entspricht dann einem struct.
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct song
{
char tag[3];
char title[30];
char artist[30];
char album[30];
char year[4];
char comment[30];
int genre;
struct song *next;
}PLAYLIST;
int main(int argc, char const *argv[])
{
FILE *file_m3u;
char meta[129];
long size;
size_t result;
file_m3u = fopen("playlist.m3u", "r");
char *name_m3u = malloc(sizeof(name_m3u));
while(fgets(name_m3u, 1024, file_m3u) != NULL)
{
if(*name_m3u != '#')
{
char *file_name1 = name_m3u;
int strlength = strlen(file_name1);
file_name1[strlength-1] = '\0';
printf("%s\n", name_m3u);
FILE *file_mp3 = fopen(file_name1, "r");
fseek(file_mp3, -128, SEEK_END);
fread(meta, 1, 128, file_mp3);
memcpy(song, meta, 128);
printf("%s\n", &song.title);
}
struct asd
{
//blabliblub
};
//später in der main
asd asd1;//asd ist der Typ (wie z.B. int ein Typ ist)
//asd1 ist deine Variable mit eigenem Speicherbereich
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct song
{
char tag[3];
char title[30];
char artist[30];
char album[30];
char year[4];
char comment[30];
int genre;
struct song *next;
}PLAYLIST;
int main(PLAYLIST p)
{
FILE *file_m3u;
char meta[129];
song Song;
file_m3u = fopen("playlist.m3u", "rb");
char *name_m3u = malloc(sizeof(name_m3u));
while(fgets(name_m3u, 1024, file_m3u) != NULL)
{
if(*name_m3u != '#')
{
char *file_name1 = name_m3u;
int strlength = strlen(file_name1);
file_name1[strlength-1] = '\0';
printf("%s\n", name_m3u);
FILE *file_mp3 = fopen(file_name1, "rb");
fseek(file_mp3, -128, SEEK_END);
fread(meta, 1, 128, file_mp3);
memcpy(Song, meta, 128);
printf("%s\n", &p.title);
}
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct song
{
char tag[3];
char title[30];
char artist[30];
char album[30];
char year[4];
char comment[30];
int genre;
struct song *next;
}PLAYLIST;
int main()
{
FILE *file_m3u;
char meta[129];
char buffer[129];
//song Song;
file_m3u = fopen("playlist.m3u", "rb");
char *name_m3u = malloc(sizeof(name_m3u));
while(fgets(name_m3u, 1024, file_m3u) != NULL)
{
if(*name_m3u != '#')
{
char *file_name1 = name_m3u;
int strlength = strlen(file_name1);
file_name1[strlength-1] = '\0';
printf("%s\n", name_m3u);
FILE *file_mp3 = fopen(file_name1, "rb");
fseek(file_mp3, -128, SEEK_END);
fread(meta, 1, 128, file_mp3);
memcpy(buffer, meta, 128);
printf("%s\n", buffer);
}
4.mp3
TAGvier
5.mp3
TAGbest song ever
6.mp3
TAGsechs