#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { FILE* fp1;//定義文件指針用於讀文件 char* fp2;//用來判斷是否歌詞讀完 char s[80];//暫存歌詞 long int time2=0; long int time=0;//用來計算時間,精度為秒,不夠完善,望高人指點 int a=1;//起判斷作用 fp1=fopen("/Users/qingyun/Desktop/追夢赤子心.lrc","r");//已直讀方式打開,路徑可以宏定義 fgets(s,1000,fp1); //為了輸出歌名 while(a) { a++; if(s[a]==']') { break; } } s[a]='\0'; printf("歌曲名:%s\n",&s[3]); sleep(3); fgets(s,1000,fp1); //為了輸出歌手名 a=1; while(a) { a++; if(s[a]==']') { break; } } s[a]='\0'; printf("歌手:%s\n",&s[3]); sleep(3); fgets(s,1000,fp1); //因為有的歌詞還有其他的屬性,為了兼容性只輸出歌名和歌手名,接著就是歌詞 while(s[1]!='0') { fgets(s,1000,fp1); } while(fp2!=NULL)//判斷歌詞是否讀完 { time=(s[1]-'0')*60000+(s[2]-'0')*6000+(s[4]-'0')*1000+(s[5]-'0')*100+(s[7]-'0')*10+(s[8]-'0')*1; printf("%s",&s[10]); while(time>time2) { sleep(1); time2+=100; } fp2=fgets(s,1000,fp1); } fclose(fp1);//關閉文件 return 0; }