?? test_remove.cpp
字號(hào):
// $Id: test_remove.cpp,v 1.13 2003/03/02 15:17:21 t1mpy Exp $#if defined(HAVE_CONFIG_H)# include "config.h"#endif#include "id3/id3lib_streams.h"
#include "id3/tag.h"#include "id3/misc_support.h"#include "id3/id3lib_strings.h"
using std::cout;using std::endl;using std::cerr;using namespace dami;typedef const char* LPCTSTR;/* CSharedTag is a wrapper I made for some features I need *//* LPCTSTR means const char * */size_t RemoveFrame(ID3_Tag& pTag, ID3_FrameID fID, LPCTSTR sDescription){ size_t nCount = 0; const ID3_Frame * frame = NULL; do { if (!sDescription) { cerr << "*** description is null" << endl; frame = pTag.Find(fID); } else { cerr << "*** description is \"" << sDescription << "\"" << endl; frame = pTag.Find(fID, ID3FN_DESCRIPTION, sDescription); } if (frame) { ID3_Field* fld = frame->GetField(ID3FN_TEXT); String text(fld->GetRawText(), fld->Size()); cerr << "*** delete frame with text \"" << text << "\"" << endl; /* pTag is an ID3_Tag */ delete pTag.RemoveFrame(frame); nCount++; } } while (frame != NULL); return nCount;}int main( int argc, char *argv[]){ ID3_Tag tag; ID3_Frame frame; if (argc == 2) { tag.Link(argv[1]); cerr << "removed " << RemoveFrame(tag, ID3FID_COMMENT, "") << " descriptionless comment frames" << endl; tag.Update(); } else { tag.Link("test-remove.tag"); tag.Strip(ID3TT_ALL); tag.Clear(); frame.SetID(ID3FID_TITLE); frame.GetField(ID3FN_TEXT)->Set("Test title"); tag.AddFrame(frame); frame.SetID(ID3FID_COMPOSER); frame.GetField(ID3FN_TEXT)->Set("Test composer"); tag.AddFrame(frame); frame.SetID(ID3FID_BAND); frame.GetField(ID3FN_TEXT)->Set("Test band"); tag.AddFrame(frame); frame.SetID(ID3FID_CONDUCTOR); frame.GetField(ID3FN_TEXT)->Set("Test conductor"); tag.AddFrame(frame); frame.SetID(ID3FID_COMMENT); frame.GetField(ID3FN_LANGUAGE)->Set("eng"); frame.GetField(ID3FN_TEXT)->Set("Test comment"); frame.GetField(ID3FN_DESCRIPTION)->Set("A Description"); tag.AddFrame(frame); frame.SetID(ID3FID_COMMENT); frame.GetField(ID3FN_LANGUAGE)->Set("eng"); frame.GetField(ID3FN_TEXT)->Set("Test comment 2"); frame.GetField(ID3FN_DESCRIPTION)->Set(""); tag.AddFrame(frame); frame.SetID(ID3FID_COMMENT); frame.GetField(ID3FN_LANGUAGE)->Set("eng"); frame.GetField(ID3FN_TEXT)->Set("ID3v1 comment text?"); frame.GetField(ID3FN_DESCRIPTION)->Set(STR_V1_COMMENT_DESC); tag.AddFrame(frame); tag.SetPadding(false); tag.Update(ID3TT_ID3V2); cerr << "removed " << ID3_RemoveArtists(&tag) << " artist frames" << endl; tag.Update(); cerr << "removed " << ID3_RemoveTitles(&tag) << " title frames" << endl; tag.Update(); cerr << "removed " << RemoveFrame(tag, ID3FID_COMMENT, "") << " descriptionless comment frames" << endl; tag.Update(); } return 0;}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -