void destroi_playlist_na_jukebox(jukebox j,char* resto)
{
int i,k=1,musicas_numero;
char nome_playlist[MAX_LINHA];
playlist remove_playlist;
i= sscanf(resto,"%[^\n^\r]",nome_playlist);
if( (i==1) && (verifica_existe_playlist(j,nome_playlist) == 1) )
{
remove_playlist = (playlist)tira_playlist_jukebox(j,nome_playlist);
musicas_numero = numero_musicas(remove_playlist);
if( musicas_numero > 0 )
{
while( k <= musicas_numero )
{
remove_musica(remove_playlist,1);
k++;
}
}
destroiGenPlaylist( (void *) remove_playlist);
printf("Playlist eliminada.\n");
}
else
if( (verifica_existe_playlist(j,nome_playlist) !=1) && (i==1) ) // Problem is here
{
printf("Playlist inexistente.\n");
}
else printf("Dados invalidos.\n");
}
问题出在最后的if语句中。我得到resto,它不遵循第一个if语句,转到第二个,那里一切都很好,但是问题是我的计算机(有Windows操作系统)出于某种原因在我的大学编译器上打印了“ Dados invalidos”(基于linux操作系统),它会显示“播放列表不存在”。发生了什么事,我该如何解决?正确的答案是计算机上打印的内容。
答案 0 :(得分:2)
您正在检查\r\n
,它是Windows行尾。 Linux / UNIX行尾仅是\n
。因此,您可能首先要检查正在使用的系统并查看如何进行操作,或者可以搜索自动检查该功能的功能。