📄 playlist.cpp
字号:
#include "playlist.h"#include "systems.h"CPlaylist::CPlaylist (const char *filename, const char **errmsg){ #ifndef _WIN32 struct stat statbuf; if (stat(filename, &statbuf) != 0) { *errmsg = "File not found"; return; } if (!S_ISREG(statbuf.st_mode)) { *errmsg = "Not a file"; return; }#else OFSTRUCT ReOpenBuff; if (OpenFile(filename, &ReOpenBuff,OF_READ) == HFILE_ERROR) { *errmsg = "File not found"; return; }#endif FILE *ifile; ifile = fopen(filename, "r"); if (ifile == NULL) { *errmsg = "Can't open file"; return; } char buffer[1024]; CPlaylistEntry *prev = NULL; while (fgets(buffer, sizeof(buffer), ifile) != NULL) { char *temp; temp = strchr(buffer, '\n'); if (temp) { if (*(temp - 1) == '\r') *(temp - 1) = '\0'; *temp = '\0'; } CPlaylistEntry *newone; newone = new CPlaylistEntry(buffer); if (prev == NULL) { m_first = m_on = prev = newone; } else { prev->set_next(newone); newone->set_prev(prev); prev = newone; } } fclose(ifile);}CPlaylist::~CPlaylist (void) { CPlaylistEntry *p; p = m_first; while (p != NULL) { m_first = m_first->get_next(); delete p; p = m_first; }}const char *CPlaylist::get_next (void){ if (m_on == NULL) { return (NULL); } m_on = m_on->get_next(); if (m_on == NULL) { return (NULL); } return (m_on->get_value());}const char *CPlaylist::get_prev (void){ if (m_on == NULL) { return NULL; } m_on = m_on->get_prev(); if (m_on == NULL) { return (NULL); } return (m_on->get_value());}const char *CPlaylist::get_first (void) { m_on = m_first; if (m_on == NULL) return (NULL); return m_on->get_value();}const char *CPlaylist::get_last (void){ CPlaylistEntry *p; p = m_first; if (p == NULL) return (NULL); while (p->get_next() != NULL) { p = p->get_next(); } return p->get_value();}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -