Probably
TextArt *artPtr;
artPtr = malloc(1000 * sizeof(TextArt));
...
void readFromFile(TextArt *asciiArt, int size, char *fileName){
int index, i, ch; //index for array of struct
char tempLine[500];
FILE *pFile;
pFile = fopen (fileName ,"r");
if (pFile == NULL)
printf("Error opening file");
else{
printf("file opened.");
for(index = 0; index < size; ++index){
TextArt *pta = asciiArt + index;
fgets(pta->artistName, sizeof(pta->artistName), pFile);
printf("got artist name");
for(i=0;i<20;++i){//20 : sizeof(pta->asciiArt)/sizeof(pta->asciiArt[0])
if(EOF==(ch=fgetc(pFile))){
index = size;//outer loop break
break;
} else if(ch == '#'){
//ungetc(ch, pFile);
fgets(tempLine, sizeof(tempLine), pFile);
break;
} else {
ungetc(ch, pFile);
fgets(pta->asciiArt + i, sizeof(pta->asciiArt[0]), pFile);
}
}
}
fclose(pFile);
}
}