fileinput.cc

来自「pixil 最新的嵌入linux 應用程序集,別的地方很難下載」· CC 代码 · 共 100 行

CC
100
字号
/* MPEG/WAVE Sound library   (C) 1997 by Woo-jae Jung */// Binput.cc// Inputstream from file#ifdef HAVE_CONFIG_H#include "config.h"#endif#include <sys/stat.h>#include <unistd.h>#include "mpegsound.h"/************************//* Input bitstrem class *//************************/Soundinputstreamfromfile::~Soundinputstreamfromfile(){    if (fp)	fclose(fp);}boolSoundinputstreamfromfile::open(char *filename){    struct stat buf;    if (filename == NULL) {	fp = stdin;	size = 0;	return true;    } else if ((fp = fopen(filename, "r")) == NULL) {	seterrorcode(SOUND_ERROR_FILEOPENFAIL);	return false;    }    stat(filename, &buf);    size = buf.st_size;    return true;}intSoundinputstreamfromfile::getbytedirect(void){    int c;    if ((c = getc(fp)) < 0)	seterrorcode(SOUND_ERROR_FILEREADFAIL);    return c;}boolSoundinputstreamfromfile::_readbuffer(char *buffer, int size){    if (fread(buffer, size, 1, fp) != 1) {	seterrorcode(SOUND_ERROR_FILEREADFAIL);	return false;    }    return true;}boolSoundinputstreamfromfile::eof(void){    return feof(fp);};intSoundinputstreamfromfile::getblock(char *buffer, int size){    return fread(buffer, 1, size, fp);}intSoundinputstreamfromfile::getsize(void){    return size;}voidSoundinputstreamfromfile::setposition(int pos){    if (fp == stdin)	return;    fseek(fp, pos, SEEK_SET);}intSoundinputstreamfromfile::getposition(void){    if (fp == stdin)	return 0;    return ftell(fp);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?