如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
下载了网易公开课的视频之后,发现它的中文和英文字母是分开的,用其他播放器打开的时候只能载入一个字幕,于是就想合并2个文件
思路:
假定英文字幕的文件名叫1.srt,中文字幕的文件名叫2.srt,新合并的文件名叫3.srt。假设起始行为1。
读取1.srt中的每一行,同步读取2.srt中的每一行,并且将1.srt的数据写入3.srt,当发现行数对4取余的值为3时,将2.srt中读取的数据写入3.srt。
注意:网易公开课的中文字幕可能存在多余的空行,会导致合并错误。
解决办法:用notepad++先出来中文字幕,在替换里面,查找模式选择“扩展”,查找内容为“\r\n\r\n\r\n”,替换内容为“\r\n\r\n”。(或者尝试查找内容为“\nn\n”,替换内容为“\n\n”)。
处理部分代码:
while(fgets(s,100,fp1)!=NULL) { fgets(s1,100,fp2); fwrite(s,getLen(s),1,fp3); count++; if(count%4 == 3) { fwrite(s1,getLen(s1),1,fp3); line++; } }
完整代码下载:
http://download.csdn.net/detail/itas109/8477269
如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033
时间: 2024-10-05 22:04:31