网络上的APE文件通常附带一个CUE文件,该文件包含了此CD碟片的作者,曲目等信息,要能支持对APE文件的选曲以及必要信息的显示,必须实现CUE文件的解析。这是实现初步功能的CUE文件解析类,还有待完善。 // Cue.h: interface for the CCue class. // // #if !defined(AFX_CUE_H__8AC1B864_AD1D_4F0A_8A7F_84C62201DED9__INCLUDED_) #define AFX_CUE_H__8AC1B864_AD1D_4F0A_8A7F_84C62201DED9__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #define SONGS_MAX 128 typedef struct song_t { int star; int len; CString m_strname; CString m_strpath; }song_t; class CCue { public: CCue(); virtual ~CCue(); public: int file_load(const char *pfile); int performer_parser(); int title_parser(); int songs_parser(); int song_parser(int off,int index); int get_next_song(song_t *psong); int get_last_song(song_t *psong); int get_cert_song(int index,song_t *psong); public: int m_total_song; //总曲目 int m_index_song; //当前曲目 song_t m_songs[SONGS_MAX]; //曲目信息 CString m_strperformer; // 作者信息 CString m_strtitle; //碟片主题 CString m_filepath; //文件地址 private: CString m_strbuff; }; #endif // !defined(AFX_CUE_H__8AC1B864_AD1D_4F0A_8A7F_84C62201DED9__INCLUDED_) // Cue.cpp: implementation of the CCue class. // // #include "stdafx.h" #include "wmptest.h" #include "Cue.h" #ifdef _D