L'ho apperna provato io e mi funziona.
Porbabilmente il problema è da qualche altra parte.
Il codice di prova è questo.
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100
void inserisci();
int main(){
inserisci();
return 0;
}
void inserisci(){
char cantante[MAX];
char titolo[MAX];
float tempo;
FILE *fptr;
if((fptr=fopen("mp3.txt","a"))==NULL){
printf("errore apertura file mp3.txt\n");
exit(EXIT_FAILURE);
}
else{
printf("Artista,Titolo,Durata\n");
printf("inserisci l'artista\n");
fgets(cantante,MAX,stdin);
cantante[strlen(cantante)-1]=0;
fprintf(fptr,"%s,",cantante);
printf("inserisci il titolo\n");
fgets(titolo,MAX,stdin);
titolo[strlen(titolo)-1]=0;
fprintf(fptr,"%s,",titolo);
printf("inserisci la durata\n");
scanf("%f",&tempo);
fprintf(fptr,"%.2f\n",tempo);
}
}