C?????????????lrc???
???????????? ???????[ 2014/4/10 9:48:56 ] ????????C???? lrc???
????????д???????????????????lrc???????????????Щ??????????????????????lrc???????ū????????
/**
* create by: w397090770
* Email:wyphao.2007??163.com
* create data: 2012.3.27
**/
??include <stdio.h> //for printf??fgets...
??include <stdlib.h> //for exit
??include <vector> //for vector
??include <string.h> //for strlen
??include <string> //for string
??include <algorithm> //for sort
??define MAXLINE 256
using namespace std;
typedef struct Number{
int time;//??????
int line;//??????
};
static int LINE = 0;//?????????????
int LRCPrase??char *str?? vector<string> &sentences?? vector<Number> &songTime??;
int strtoint??char *str??;
int operator<??Number x??Number y??;
int main??int argc?? char *argv[]??{
char buf[MAXLINE];
vector<string> sentences?? finalSentence;
vector<Number> songTime;
FILE *fd;
//fd = fopen??"????? - ??????????.lrc"?? "r"??;
//fd = fopen??"??÷?? - ??????????.lrc"?? "r"??;
fd = fopen??"С???? - ???.lrc"?? "r"??;
//fd = fopen??"????? - ???????.lrc"?? "r"??;
if??fd == NULL??{
perror??"open file"??;
exit??1??;
}
//??????
while??fgets??buf?? sizeof??buf???? fd?? != NULL??{
LRCPrase??buf?? sentences?? songTime??;
}
sort??songTime.begin?????? songTime.end??????;//???????????
//printf??"??d
"?? sentences.size??????;
/*vector<string>::iterator it = sentences.begin????;
for??; it != sentences.end????; it++??{
//printf??"??d ????d "?? ??*it??.time?? ??*it??.line??;
printf??"??s"?? ??*it??.c_str??????;
}*/
//??????????????
vector<Number>::iterator it1 = songTime.begin????;
for??; it1 != songTime.end????; it1++??{
//printf??"??d ????d
"?? ??*it1??.time?? ??*it1??.line??;
finalSentence.push_back??sentences[??*it1??.line]??;
}
it1 = songTime.begin????;
vector<string>::iterator it = finalSentence.begin????;
for??; it1 != songTime.end???? && it != finalSentence.end????; it1++?? it++??{
printf??"??d ????d ??s"?? ??*it1??.time?? ??*it1??.line?? ??*it??.c_str??????;
}
return 0;
}
int LRCPrase??char *str?? vector<string> &sentences?? vector<Number> &songTime??{
if??strlen??str?? == 1??{//????
return 0;
}else{
char *p?? *q?? *temp;
q = str;
//????????
while????p = strchr??q?? ""[""???? != NULL && ??temp = strchr??q?? ""]""???? != NULL??{
q = p + 1;
q[temp - q] = ""