Mam taki kod:
void loadPlaylist()
{
FILE *f;
size_t FileSize;
unsigned char *Data;
f = fopen("playlist.db","r");
fseek(f,0,SEEK_END);
FileSize = ftell(f);
fseek(f,0,SEEK_SET);
Data = (unsigned char*)malloc(FileSize+1);
FileSize = fread(Data,1,FileSize,f);
Data[FileSize] = 0;
fclose(f);
int lines = 0, x = 0, y = 0, max = 0;
while (true)
{
if (Data[x] == '\n')
{
if (max < y) max = y;
y = x;
lines++;
}
x++;
if (x >= FileSize) break;
}
playlist = new char*[lines];
y = 0;
int i = 0;
x = 0;
while (true)
{
if (Data[x] == '\n')
{
playlist[i] = new char[max];
Data[x] = '\0';
memcpy(playlist[i],Data+y,x-y+1);
i++;
y = x;
}
x++;
if (x >= FileSize) break;
}
}
//tablicę deklaruję na samym początku kodu tak: char** playlist;
Czyli chcę w osobnych elementach playlist mieć każdą linijkę pliku, ale dostaję access violation, dlaczego i co naprawić?