C++读取歌词文件(LRC),分解时间和歌词的方法

C++ 分析歌词(LRC)文件 初学C++,练习代码 #include "stdafx.h" #include #include using namespace std; /* **简单歌词分析: **根据开始时间和结束时间 来显示 */ void readLyric(string fileName); void analysisOneLine(string str); void printLyric(); vo 阅读详情

歌词文件的编码问题尤其须要注意!

主要用到两个函数,如下:

typedef struct _LYRIC
{
 long time;
 string strText;
}LYRIC,*LPLYRIC;
// 读取歌词文件
BOOL CLyricsDlg::ReadLyricsFile()
{
	m_bFileExist=TRUE;
	ly.clear();
	BOOL unicode=FALSE;
	//判断是否为unicode编码
	ifstream in(file,ios_base::in|ios_base::binary);
	byte b[2];
	in.read((char*)b,2);
	if((b[0]==0xFF)&&(b[1]==0xFE))
		unicode=TRUE;
	else
		unicode=FALSE;
	in.close();
	if(!unicode)
	{
		ifstream fin(file);
		char* p=new char[MAX_PATH];
		while(fin.getline(p,MAX_PATH))
		{
			string s;
			s.append(p);
			AnaliseString(s);
		}
		delete p;
		p=NULL;
		fin.close();
	}
	else
	{
		ifstream fin(file,ios_base::in|ios_base::binary);
		size_t index = 2;
		wstring ws;
		while (!fin.eof())
		{
			wchar_t wch;
			fin.read((char *)(&wch), 2);
			if (wch == 0x000D) // 判断回车
			{
				CUser u;
				string s;
				s=u.WstringToString(ws);
				AnaliseString(s);
				ws.erase(0
C语言:歌词解析-简单爱(完整版_全部代码) 攀登的过程也许漫长,但巅峰的风景是值得的!C语言的一个小项目,在与虚拟机连接的Visual Studio Code中编写实现的,可以实现歌词的滚屏,进度条、以及时间显示等。 阅读详情

相关推荐

MFC实现桌面歌词效果(附完整源码)

MFC实现桌面歌词效果(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 404

深度学习音乐推荐系统实战:从召回排序到避坑指南

推荐系统作为信息过滤的核心技术,通过挖掘用户历史行为预测其潜在偏好。深度学习利用Embedding将用户与物品映射至高维向量空间,双塔模型完成高效召回,DeepFM或序列模型则实现精准排序,能捕捉特征交叉与时序依赖,突破了传统协同过滤仅依赖交互信号的局限。该技术已在音乐、电商、视频等场景广泛落地,尤其在音乐平台中,用户听歌行为具有强顺序性,序列建模可有效提升推荐准确度与多样性。从数据清洗、负采样到召回/排序两阶段训练,再到离线评估与增量更新,系统化构建一个可落地的深度学习音乐推荐系统,能为课程实践与工程应用

weixin_34055787的博客 404

C语言mp3歌词文件(.lrc)解析源代码for windows

C语言mp3歌词文件(.lrc)解析源代码for windows版 适合Linux嵌入式开发参考。 优点:使用双向链表显示上下行歌词、时间较正确、可解析样例外的lrc文件 其它:系统资源的使用没有做进一步优化 作者:david.q@sz 2012.7.30 2263537@qq.com

lrc.rar_歌词解析

通过使用c语言解析歌词文本内容,从而达到根据播放来显示歌词

C语言解析多格式的lrc文件

昨天写了一个程序,只能解析简单的lrc文件,我有修改了一些源程序,现在可以解析很多格式的lrc文件,并弄好歌词的顺序 /** * create by: w397090770 * Email:wyphao.2007@163.com * create data: 2012.3.27 **/ #include <stdio>  //for printf,fgets… #include <stdlib>  //for exit #include <vector>  //for vector #include <string>  //for strlen #includ

USB2.0物理层实战:手把手教你用示波器抓取D+/D-信号(附波形分析)

本文是一份针对硬件工程师的USB2.0物理层信号调试实战指南。文章详细讲解了如何使用示波器捕获和分析D+/D-差分信号,从基础设置、核心信号状态解读,到信号完整性分析与常见问题排查,手把手教你定位USB通信故障。内容涵盖USB2.0协议物理层关键概念,并附有基础解码思路,旨在提升工程师的底层调试能力。

s8t9u0v1w的博客 448

解决鸿蒙/荣耀设备GMS应用调试中的“Play保护机制认证”报错

本文详细解析了在鸿蒙或荣耀设备上调试GMS应用时,遇到“Play保护机制认证”报错的根本原因与解决方案。核心在于获取设备的GMS Device ID,并通过Google官方渠道完成临时注册,从而绕过认证限制。文章提供了无需Root和ADB查询两种具体方法,并分享了授权后的故障排查与实战经验,帮助开发者高效解决问题。

weixin_29288313的博客 298

从仿真到打样:PMOS栅极泄放电路设计全流程复盘与三个踩坑点总结

本文详细复盘了PMOS栅极泄放电路从仿真到打样的全流程设计,重点总结了三个关键踩坑点:三极管BE结过压击穿、静态功耗超标和栅极振荡现象。通过优化缓启动电路、改进保护设计和布局调整,最终实现18ms开通时间、190μs关断时间和8μA静态功耗的工业级性能指标,为类似电源开关设计提供实用参考。

weixin_28693683的博客 370

GSview5.0安装步骤及问题

GSview5.0安装步骤及问题安装步骤遇到的问题 尝试过很多对图片去白边的方法,感觉最好用最有效的还是用GSview比较好操作。本文针对gsview安装及安装过程中踩过的坑记录下来。 安装步骤 在官网下载gsv50w64.exe(或32位的),直接双击安装即可。 安装Ghostscript;注意:GSview5.0不支持最新版的Ghostscript9.54,这里用到是9.27的版本可以在Github中找到,下载gs927w64.exe,一定要安装在GSview的安装目录Ghostgum下 Gho

LilianLYN的博客 1万+

分析以太网帧结构_100G以太网接口调试初体验

是的,标题没有多敲一个“0”,明人不说暗话,就是在FPGA上实现100G以太网接口设计。正好参与了实验室某项目中的100G接口的调试,早想写个专栏文章了,由于调试过程中发现了一些硬件问题,导致迟迟没有往前推进,现在问题解决了之后可以简单分享一下100G以太网接口的调试初体验了~(好像DDR4读写测试系列文章还没搞完 )这篇初体验暂时不分多个章节了,基本设计流程与之前发布的“10G以太网接口”系列文...

weixin_39574050的博客 1602

项目介绍 MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)

本项目基于MATLAB平台,实现LSTM-XGBoost混合模型进行多变量时序预测。通过LSTM网络自动提取时序特征,结合XGBoost强大的回归能力,有效解决多变量时序数据的高维复杂性、长短期依赖捕捉等难题。项目包含完整的数据预处理流程、模型构建与训练方法,以及性能评估指标。提供的GUI界面支持参数调整、训练监控和结果可视化,适用于能源、金融、气象等多领域预测任务。配套代码详细注释,便于理解模型实现细节,为时序预测研究提供实用参考框架。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 101

科研级YOLOv8 Neck革新:HS-FPN模块赋能,让特征融合更高效且参数量直降100W的实战指南

在文件夹下新建HS_FPN.py,将上述和HS_FPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

FJN110的博客 151

FANUC机器人_KAREL编程入门学习(1)

FANUC机器人_KAREL编程入门学习(1)

Robot_PLC_HMI_Automation 6419

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: C++实现:霍夫曼编码
下一篇: C++模版编程——单链表的实现
疯狂-的-蜗牛
博客等级 码龄16年 427粉丝 104原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值