您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ DupStr函数代码示例

51自学网 2021-06-01 20:30:32
  C++
这篇教程C++ DupStr函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中DupStr函数的典型用法代码示例。如果您正苦于以下问题:C++ DupStr函数的具体用法?C++ DupStr怎么用?C++ DupStr使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了DupStr函数的22个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: RepInitEv

static void RepInitEv( event_record *ev ){    DIPHDL( cue, ch );    if( ev->cue == NULL ) {        if( DeAliasAddrCue( NO_MOD, ev->ip, ch ) != SR_NONE ) {            ev->cue = CopySourceLine( ch );        }        if( ev->cue == NULL ) {            UnAsm( ev->ip, TxtBuff, TXT_LEN );            ev->cue = DupStr( TxtBuff );        }    }    if( ev->addr_string == NULL ) {        ev->addr_string = DupStr( GetEventAddress( ev ) );    }}
开发者ID:Azarien,项目名称:open-watcom-v2,代码行数:16,


示例2: BreakWrite

bool BreakWrite( address addr, mad_type_handle th, const char *comment ){    brkp                *bp;    mad_type_info       mti;    bool                ok_to_try = true;    if( IS_BP_EXECUTE( th ) )        return( false );    MADTypeInfo( th, &mti );    switch( mti.b.bits / BITS_PER_BYTE ) {    case 8:        if( !Is8ByteBreakpointsSupported() ) {            ok_to_try = false;        }        // fall down    case 1:    case 2:    case 4:        if( ok_to_try ) {            if(  FindBreak( addr ) != NULL ) {                Error( ERR_NONE, LIT_ENG( ERR_POINT_EXISTS ) );            }            bp = AddPoint( addr, th, false );            if( bp == NULL )                return( true );            bp->source_line = DupStr( comment );            RecordBreakEvent( bp, B_SET );            return( true );        }        // fall down    default:        return( false );    }}
开发者ID:groessler,项目名称:open-watcom-v2,代码行数:34,


示例3: ProcCmd

void ProcCmd( void ){    char        buff[TXT_LEN];    unsigned    screen_mem;    size_t      have_env;    int         pass;    MemSize = MIN_MEM_SIZE;    TrapParms = NULL;    _SwitchOn( SW_LOAD_SYMS );    _SwitchOn( SW_USE_MOUSE );    ProcSysOptInit();    DUIScreenOptInit();    have_env = DUIEnvLkup( EXENAME, buff, sizeof( buff ) );    for( pass = 1; pass <= 2; ++pass ) {        if( have_env ) {            GetArg = &GetEnvArg;            CurrArgc = 0;            CurrArgp = buff;            ProcOptList( pass );            if( CurrChar != ARG_TERMINATE ) {                OptError( LIT_ENG( STARTUP_Expect_End_Env_Str ) );            }        }        GetArg = &GetCmdArg;        CurrArgc = 0;        CurrArgp = GetCmdArg( 0 );        if( CurrArgp != NULL ) {            ProcOptList( pass );            if( pass == 2 ) {                SetCmdArgStart( CurrArgc, CurrArgp );            }        }        if( pass == 1 ) {            screen_mem = DUIConfigScreen();            if( MemSize + screen_mem >= MemSize ) {                MemSize += screen_mem;            } else {                MemSize = ~0;            }            SysSetMemLimit();            TrapParms = DupStr( "std" );            InvokeFile = DupStr( "" );        }    }}
开发者ID:Azarien,项目名称:open-watcom-v2,代码行数:47,


示例4: WantEquals

/* * GetFileName -- get filename from command line */char *GetFileName( int pass ){    char        buff[CMD_LEN];    WantEquals();    GetItem( buff );    return( pass == 1 ? NULL : DupStr( buff ) );}
开发者ID:Azarien,项目名称:open-watcom-v2,代码行数:11,


示例5: _mm_fseek

CHAR *S69_LoadTitle(void){	CHAR s[36];	_mm_fseek(modreader,2,SEEK_SET);	if(!_mm_read_UBYTES(s,36,modreader)) return NULL;	return(DupStr(s,36,1));}
开发者ID:LighFusion,项目名称:surreal,代码行数:9,


示例6: _mm_fseek

static CHAR *STX_LoadTitle(void){	CHAR s[28];	_mm_fseek(modreader,0,SEEK_SET);	if(!_mm_read_UBYTES(s,20,modreader)) return NULL;	return(DupStr(s,28,1));}
开发者ID:OS2World,项目名称:LIB-SDL-2014,代码行数:9,


示例7: _mm_fseek

CHAR *DSM_LoadTitle(void){   CHAR s[28];   _mm_fseek(modfp,12,SEEK_SET);   if(!_mm_fread(s,28,1,modfp)) return NULL;      return(DupStr(s,28));}
开发者ID:DavisDev,项目名称:oslib-mod,代码行数:9,


示例8: _mm_fseek

CHAR *DSM_LoadTitle(void){	CHAR s[28];	_mm_fseek(modreader,12,SEEK_SET);	if(!_mm_read_UBYTES(s,28,modreader)) return NULL;   	return(DupStr(s,28,1));}
开发者ID:0xD34D,项目名称:libmikmod-android,代码行数:9,


示例9: ImgMenuItem

static void     ImgMenuItem( a_window *wnd, gui_ctl_id id, int row, int piece ){    image_entry *img;    char        *new_name;    char        *old_name;    piece=piece;    img = ImgGetImage( row );    switch( id ) {    case MENU_INITIALIZE:        WndMenuGrayAll( wnd );        if( img != NULL ) {            if( img->dip_handle == NO_MOD ) {                WndMenuEnable( wnd, MENU_IMAGE_ADD_SYMBOLS, TRUE );            } else {                WndMenuEnableAll( wnd );            }        }        break;    case MENU_IMAGE_ADD_SYMBOLS:        // nyi - change sym_file        if( img->deferred_symbols ) {            ReLoadSymInfo( img );        } else {            new_name = DupStr( ImgSymName( img, TRUE ) );            if( !SymBrowse( &new_name ) ) {                _Free( new_name );            } else {                UnLoadSymInfo( img, TRUE );                old_name = img->sym_name;                img->sym_name = new_name;                if( ReLoadSymInfo( img ) ) {                    _Free( old_name );                } else {                    img->sym_name = old_name;                    _Free( new_name );                }            }        }        ImgInit( wnd );        break;    case MENU_IMAGE_DEL_SYMBOLS:        UnLoadSymInfo( img, TRUE );        ImgInit( wnd );        break;    case MENU_IMAGE_SHOW_FUNCTIONS:        WndGblFuncInspect( img->dip_handle );        break;    case MENU_IMAGE_SHOW_MODULES:        WndModListInspect( img->dip_handle );        break;    case MENU_IMAGE_SHOW_GLOBALS:        WndGblVarInspect( img->dip_handle );        break;    }}
开发者ID:MikeyG,项目名称:open-watcom-v2,代码行数:56,


示例10: _mm_fseek

static CHAR *GT2_LoadTitle(void){	CHAR title[33];	_mm_fseek(modreader, 8, SEEK_SET);	if (!_mm_read_UBYTES(title, 32, modreader))		return NULL;	title[32] = 0;	return (DupStr(title, 32, 1));}
开发者ID:OS2World,项目名称:LIB-SDL-2014,代码行数:11,


示例11: DlgList

void DlgList( const char *title, void (*clear)(void), void (*add)(const char *,unsigned),                           char_ring *(*next)(char_ring *), char *(*name)(char_ring *) ){    dlg_list dlg;    dlg.clear = clear;    dlg.add = add;    dlg.next = next;    dlg.name = name;    dlg.title = DupStr( title );    ResDlgOpen( &SourceEvent, &dlg, GUI_MAKEINTRESOURCE( DIALOG_LIST ) );}
开发者ID:NoSuchProcess,项目名称:open-watcom-v2,代码行数:11,


示例12: SetBPCondition

void SetBPCondition( brkp *bp, const char *condition ){    if( bp->condition != NULL ) {        _Free( bp->condition );    }    if( condition == NULL || condition[0] == '/0' ) {        bp->condition = NULL;    } else {        bp->condition = DupStr( condition );    }    bp->status.b.use_condition = ( bp->condition != NULL );}
开发者ID:groessler,项目名称:open-watcom-v2,代码行数:12,


示例13: tmp

BaseRec::BaseRec(const DZStrW &base){    DZStrW tmp(base);    TCHAR lc = tmp.LastChar();    if (lc != _T(':') && lc != BSLASH)        tmp += BSLASH;	Base = DupStr(tmp);	Next = NULL;}
开发者ID:geoffsmith82,项目名称:delphizip,代码行数:12,


示例14: OKT_doSAMP

/* Read sample information */static BOOL OKT_doSAMP(int len){	int t;	SAMPLE *q;	OKTSAMPLE s;	of.numins = of.numsmp = (len / 0x20);	if (!AllocSamples())		return 0;	for (t = 0, q = of.samples; t < of.numins; t++, q++) {		_mm_read_UBYTES(s.sampname, 20, modreader);		s.len = _mm_read_M_ULONG(modreader);		s.loopbeg = _mm_read_M_UWORD(modreader);		s.looplen = _mm_read_M_UWORD(modreader);		_mm_read_UBYTE(modreader);		s.volume = _mm_read_UBYTE(modreader);		_mm_read_M_UWORD(modreader);		if (_mm_eof(modreader)) {			_mm_errno = MMERR_LOADING_SAMPLEINFO;			return 0;		}		if (!s.len)			q->seekpos = q->length = q->loopstart = q->loopend = q->flags = 0;		else {			s.len--;			/* sanity checks */			if (s.loopbeg > s.len)				s.loopbeg = s.len;			if (s.loopbeg + s.looplen > s.len)				s.looplen = s.len - s.loopbeg;			if (s.looplen < 2)				s.looplen = 0;			q->length = s.len;			q->loopstart = s.loopbeg;			q->loopend = s.looplen + q->loopstart;			q->volume = s.volume;			q->flags = SF_SIGNED;			if (s.looplen)				q->flags |= SF_LOOP;		}		q->samplename = DupStr(s.sampname, 20, 1);		q->speed = 8363;	}	return 1;}
开发者ID:albertz,项目名称:timidity-macosx,代码行数:51,


示例15: ULT_Load

static BOOL ULT_Load(BOOL curious){    int t,u,tracks=0;    SAMPLE *q;    ULTSAMPLE s;    ULTHEADER mh;    UBYTE nos,noc,nop;    /* try to read module header */    _mm_read_string(mh.id,15,modreader);    _mm_read_string(mh.songtitle,32,modreader);    mh.reserved=_mm_read_UBYTE(modreader);    if(_mm_eof(modreader)) {        _mm_errno = MMERR_LOADING_HEADER;        return 0;    }    ULT_Version[ULT_VERSION_LEN-1]='3'+(mh.id[14]-'1');    of.modtype   = DupStr(ULT_Version,ULT_VERSION_LEN,1);    of.initspeed = 6;    of.inittempo = 125;    of.reppos    = 0;    /* read songtext */    if ((mh.id[14]>'1')&&(mh.reserved))        if(!ReadLinedComment(mh.reserved * 32, 32)) return 0;    nos=_mm_read_UBYTE(modreader);    if(_mm_eof(modreader)) {        _mm_errno = MMERR_LOADING_HEADER;        return 0;    }    of.songname=DupStr(mh.songtitle,32,1);    of.numins=of.numsmp=nos;    if(!AllocSamples()) return 0;    q = of.samples;    for(t=0; t<nos; t++) {        /* try to read sample info */        _mm_read_string(s.samplename,32,modreader);        _mm_read_string(s.dosname,12,modreader);        s.loopstart     =_mm_read_I_ULONG(modreader);        s.loopend       =_mm_read_I_ULONG(modreader);        s.sizestart     =_mm_read_I_ULONG(modreader);        s.sizeend       =_mm_read_I_ULONG(modreader);        s.volume        =_mm_read_UBYTE(modreader);        s.flags         =_mm_read_UBYTE(modreader);        s.speed         =(mh.id[14]>='4')?_mm_read_I_UWORD(modreader):8363;        s.finetune      =_mm_read_I_SWORD(modreader);        if(_mm_eof(modreader)) {            _mm_errno = MMERR_LOADING_SAMPLEINFO;            return 0;        }        q->samplename=DupStr(s.samplename,32,1);        /* The correct formula for the coefficient would be           pow(2,(double)s.finetume/OCTAVE/32768), but to avoid floating point           here, we'll use a first order approximation here.           1/567290 == Ln(2)/OCTAVE/32768 */        q->speed=s.speed+s.speed*(((SLONG)s.speed*(SLONG)s.finetune)/567290);        q->length    = s.sizeend-s.sizestart;        q->volume    = s.volume>>2;        q->loopstart = s.loopstart;        q->loopend   = s.loopend;        q->flags = SF_SIGNED;        if(s.flags&ULTS_LOOP) q->flags|=SF_LOOP;        if(s.flags&ULTS_16BITS) {            s.sizeend+=(s.sizeend-s.sizestart);            s.sizestart<<=1;            q->flags|=SF_16BITS;            q->loopstart>>=1;            q->loopend>>=1;        }        q++;    }
开发者ID:gameblabla,项目名称:methane,代码行数:78,


示例16: FAR_Load

BOOL FAR_Load (BOOL curious){  int t, u, tracks = 0;  SAMPLE *q;  FARSAMPLE s;  FARNOTE *crow;  UBYTE smap[8];  /* try to read module header (first part) */  _mm_read_UBYTES (mh1->id, 4, modreader);  _mm_read_SBYTES (mh1->songname, 40, modreader);  _mm_read_SBYTES (mh1->blah, 3, modreader);  mh1->headerlen = _mm_read_I_UWORD (modreader);  mh1->version = _mm_read_UBYTE (modreader);  _mm_read_UBYTES (mh1->onoff, 16, modreader);  _mm_read_UBYTES (mh1->edit1, 9, modreader);  mh1->speed = _mm_read_UBYTE (modreader);  _mm_read_UBYTES (mh1->panning, 16, modreader);  _mm_read_UBYTES (mh1->edit2, 4, modreader);  mh1->stlen = _mm_read_I_UWORD (modreader);  /* init modfile data */  of.modtype = strdup (FAR_Version);  of.songname = DupStr (mh1->songname, 40, 1);  of.numchn = 16;  of.initspeed = mh1->speed;  of.inittempo = 80;  of.reppos = 0;  for (t = 0; t < 16; t++)    of.panning[t] = mh1->panning[t] << 4;  /* read songtext into comment field */  if (mh1->stlen)    if (!ReadComment (mh1->stlen))      return 0;  /* try to read module header (second part) */  _mm_read_UBYTES (mh2->orders, 256, modreader);  mh2->numpat = _mm_read_UBYTE (modreader);  mh2->snglen = _mm_read_UBYTE (modreader);  mh2->loopto = _mm_read_UBYTE (modreader);  _mm_read_I_UWORDS (mh2->patsiz, 256, modreader);  of.numpos = mh2->snglen;  if (!AllocPositions (of.numpos))    return 0;  for (t = 0; t < of.numpos; t++)    {      if (mh2->orders[t] == 0xff)	break;      of.positions[t] = mh2->orders[t];    }  /* count number of patterns stored in file */  of.numpat = 0;  for (t = 0; t < 256; t++)    if (mh2->patsiz[t])      if ((t + 1) > of.numpat)	of.numpat = t + 1;  of.numtrk = of.numpat * of.numchn;  /* seek across eventual new data */  _mm_fseek (modreader, mh1->headerlen - (869 + mh1->stlen), SEEK_CUR);  /* alloc track and pattern structures */  if (!AllocTracks ())    return 0;  if (!AllocPatterns ())    return 0;  for (t = 0; t < of.numpat; t++)    {      UBYTE rows = 0;      memset (pat, 0, 256 * 16 * 4 * sizeof (FARNOTE));      if (mh2->patsiz[t])	{	  rows = _mm_read_UBYTE (modreader);	  /* tempo = */ _mm_read_UBYTE (modreader);	  crow = pat;	  /* file often allocates 64 rows even if there are less in pattern */	  if (mh2->patsiz[t] < 2 + (rows * 16 * 4))	    {	      _mm_errno = MMERR_LOADING_PATTERN;	      return 0;	    }	  for (u = (mh2->patsiz[t] - 2) / 4; u; u--, crow++)	    {	      crow->note = _mm_read_UBYTE (modreader);	      crow->ins = _mm_read_UBYTE (modreader);	      crow->vol = _mm_read_UBYTE (modreader);	      crow->eff = _mm_read_UBYTE (modreader);	    }	  if (_mm_eof (modreader))	    {	      _mm_errno = MMERR_LOADING_PATTERN;	      return 0;//.........这里部分代码省略.........
开发者ID:Distrotech,项目名称:TiMidity,代码行数:101,


示例17: IT_Load

BOOL IT_Load(BOOL curious){	int t,u,lp;	INSTRUMENT *d;	SAMPLE *q;	BOOL compressed=0;	numtrk=0;	filters=0;	/* try to read module header */	_mm_read_I_ULONG(modreader);	/* kill the 4 byte header */	_mm_read_string(mh->songname,26,modreader);	_mm_read_UBYTES(mh->blank01,2,modreader);	mh->ordnum      =_mm_read_I_UWORD(modreader);	mh->insnum      =_mm_read_I_UWORD(modreader);	mh->smpnum      =_mm_read_I_UWORD(modreader);	mh->patnum      =_mm_read_I_UWORD(modreader);	mh->cwt         =_mm_read_I_UWORD(modreader);	mh->cmwt        =_mm_read_I_UWORD(modreader);	mh->flags       =_mm_read_I_UWORD(modreader);	mh->special     =_mm_read_I_UWORD(modreader);	mh->globvol     =_mm_read_UBYTE(modreader);	mh->mixvol      =_mm_read_UBYTE(modreader);	mh->initspeed   =_mm_read_UBYTE(modreader);	mh->inittempo   =_mm_read_UBYTE(modreader);	mh->pansep      =_mm_read_UBYTE(modreader);	mh->zerobyte    =_mm_read_UBYTE(modreader);	mh->msglength   =_mm_read_I_UWORD(modreader);	mh->msgoffset   =_mm_read_I_ULONG(modreader);	_mm_read_UBYTES(mh->blank02,4,modreader);	_mm_read_UBYTES(mh->pantable,64,modreader);	_mm_read_UBYTES(mh->voltable,64,modreader);	if(_mm_eof(modreader)) {		_mm_errno=MMERR_LOADING_HEADER;		return 0;	}	/* set module variables */	of.songname    = DupStr(mh->songname,26,0); /* make a cstr of songname  */	of.reppos      = 0;	of.numpat      = mh->patnum;	of.numins      = mh->insnum;	of.numsmp      = mh->smpnum;	of.initspeed   = mh->initspeed;	of.inittempo   = mh->inittempo;	of.initvolume  = mh->globvol;	of.flags      |= UF_BGSLIDES|UF_ARPMEM;	if(mh->songname[25]) {		of.numvoices=1+mh->songname[25];#ifdef MIKMOD_DEBUG		fprintf(stderr,"Embedded IT limitation to %d voices/n",of.numvoices);#endif	}	/* set the module type */	/* 2.17 : IT 2.14p4 */	/* 2.16 : IT 2.14p3 with resonant filters */	/* 2.15 : IT 2.14p3 (improved compression) */	if((mh->cwt<=0x219)&&(mh->cwt>=0x217))		of.modtype=strdup(IT_Version[mh->cmwt<0x214?4:5]);	else if (mh->cwt>=0x215)		of.modtype=strdup(IT_Version[mh->cmwt<0x214?2:3]);	else {		of.modtype     = strdup(IT_Version[mh->cmwt<0x214?0:1]);		of.modtype[mh->cmwt<0x214?15:26] = (mh->cwt>>8)+'0';		of.modtype[mh->cmwt<0x214?17:28] = ((mh->cwt>>4)&0xf)+'0';		of.modtype[mh->cmwt<0x214?18:29] = ((mh->cwt)&0xf)+'0';	}	if(mh->flags&8)		of.flags|=(UF_XMPERIODS | UF_LINEAR);	if((mh->cwt>=0x106)&&(mh->flags&16))		old_effect=1;	else		old_effect=0;	/* set panning positions */	for(t=0;t<64;t++) {		mh->pantable[t]&=0x7f;		if(mh->pantable[t]<64)			of.panning[t]=mh->pantable[t]<<2;		else if(mh->pantable[t]==64)			of.panning[t]=255;		else if(mh->pantable[t]==100)			of.panning[t]=PAN_SURROUND;		else if(mh->pantable[t]==127)			of.panning[t]=PAN_CENTER;		else {			_mm_errno=MMERR_LOADING_HEADER;			return 0;		}	}	/* set channel volumes */	memcpy(of.chanvol,mh->voltable,64);//.........这里部分代码省略.........
开发者ID:AzagraMac,项目名称:PS2_SDK,代码行数:101,


示例18: DSM_Load

BOOL DSM_Load (BOOL curious){  int t;  DSMINST s;  SAMPLE *q;  int cursmp = 0, curpat = 0, track = 0;  blocklp = 0;  blockln = 12;  if (!GetBlockHeader ())    return 0;  if (memcmp (blockid, SONGID, 4))    {      _mm_errno = MMERR_LOADING_HEADER;      return 0;    }  _mm_read_UBYTES (mh->songname, 28, modreader);  mh->version = _mm_read_I_UWORD (modreader);  mh->flags = _mm_read_I_UWORD (modreader);  mh->reserved2 = _mm_read_I_ULONG (modreader);  mh->numord = _mm_read_I_UWORD (modreader);  mh->numsmp = _mm_read_I_UWORD (modreader);  mh->numpat = _mm_read_I_UWORD (modreader);  mh->numtrk = _mm_read_I_UWORD (modreader);  mh->globalvol = _mm_read_UBYTE (modreader);  mh->mastervol = _mm_read_UBYTE (modreader);  mh->speed = _mm_read_UBYTE (modreader);  mh->bpm = _mm_read_UBYTE (modreader);  _mm_read_UBYTES (mh->panpos, DSM_MAXCHAN, modreader);  _mm_read_UBYTES (mh->orders, DSM_MAXORDERS, modreader);  /* set module variables */  of.initspeed = mh->speed;  of.inittempo = mh->bpm;  of.modtype = strdup (DSM_Version);  of.numchn = mh->numtrk;  of.numpat = mh->numpat;  of.numtrk = of.numchn * of.numpat;  of.songname = DupStr (mh->songname, 28, 1);	/* make a cstr of songname */  of.reppos = 0;  for (t = 0; t < DSM_MAXCHAN; t++)    of.panning[t] = mh->panpos[t] == DSM_SURROUND ? PAN_SURROUND :      mh->panpos[t] < 0x80 ? (mh->panpos[t] << 1) : 255;  if (!AllocPositions (mh->numord))    return 0;  of.numpos = 0;  for (t = 0; t < mh->numord; t++)    {      of.positions[of.numpos] = mh->orders[t];      if (mh->orders[t] < 254)	of.numpos++;    }  of.numins = of.numsmp = mh->numsmp;  if (!AllocSamples ())    return 0;  if (!AllocTracks ())    return 0;  if (!AllocPatterns ())    return 0;  while (cursmp < of.numins || curpat < of.numpat)    {      if (!GetBlockHeader ())	return 0;      if (!memcmp (blockid, INSTID, 4) && cursmp < of.numins)	{	  q = &of.samples[cursmp];	  /* try to read sample info */	  _mm_read_UBYTES (s.filename, 13, modreader);	  s.flags = _mm_read_I_UWORD (modreader);	  s.volume = _mm_read_UBYTE (modreader);	  s.length = _mm_read_I_ULONG (modreader);	  s.loopstart = _mm_read_I_ULONG (modreader);	  s.loopend = _mm_read_I_ULONG (modreader);	  s.reserved1 = _mm_read_I_ULONG (modreader);	  s.c2spd = _mm_read_I_UWORD (modreader);	  s.period = _mm_read_I_UWORD (modreader);	  _mm_read_UBYTES (s.samplename, 28, modreader);	  q->samplename = DupStr (s.samplename, 28, 1);	  q->seekpos = _mm_ftell (modreader);	  q->speed = s.c2spd;	  q->length = s.length;	  q->loopstart = s.loopstart;	  q->loopend = s.loopend;	  q->volume = s.volume;	  if (s.flags & 1)	    q->flags |= SF_LOOP;	  if (s.flags & 2)	    q->flags |= SF_SIGNED;	  /* (s.flags&4) means packed sample,//.........这里部分代码省略.........
开发者ID:albertz,项目名称:timidity-macosx,代码行数:101,


示例19: ULT_Load

static BOOL ULT_Load(void){    int t,u,tracks=0;    INSTRUMENT *d;    SAMPLE *q;    ULTSAMPLE s;    ULTHEADER mh;    UBYTE nos,noc,nop;    /* try to read module header */    _mm_read_str(mh.id,15);    _mm_read_str(mh.songtitle,32);    mh.reserved=_mm_read_UBYTE();    if(modpos > modsize){	gModPlayerErrorMessage=ERROR_LOADING_HEADER;	return 0;    }    if(mh.id[14]<'1' || mh.id[14]>'4'){	//printf("This version is not yet supported/n");	return 0;    }    of.modtype=strdup(ULT_Version[mh.id[14]-'1']);    of.initspeed=6;    of.inittempo=125;    /* read songtext */    if(!ReadComment((UWORD)(mh.reserved * 32))) return 0;    nos=_mm_read_UBYTE();    if(modpos > modsize){	gModPlayerErrorMessage=ERROR_LOADING_HEADER;	return 0;    }    of.songname=DupStr(mh.songtitle,32);    of.numins=nos;    if(!AllocInstruments()) return 0;    d=of.instruments;    for(t=0;t<nos;t++){	d->numsmp=1;	if(!AllocSamples(d)) return 0;	q=d->samples;	/* try to read sample info */	_mm_read_str(s.samplename,32);	_mm_read_str(s.dosname,12);	s.loopstart	=_mm_read_I_ULONG();	s.loopend	=_mm_read_I_ULONG();	s.sizestart	=_mm_read_I_ULONG();	s.sizeend	=_mm_read_I_ULONG();	s.volume	=_mm_read_UBYTE();	s.flags		=_mm_read_UBYTE();	s.finetune	=_mm_read_I_SWORD();	if(modpos > modsize){	    gModPlayerErrorMessage=ERROR_LOADING_SAMPLEINFO;	    return 0;	}	d->insname=DupStr(s.samplename,32);	q->seekpos=0;	q->c2spd=8363;	if(mh.id[14]>='4'){	    _mm_read_I_UWORD();	/* read 1.6 extra info(??) word */	    q->c2spd=s.finetune;	}	q->length=s.sizeend-s.sizestart;	q->volume=s.volume>>2;	q->loopstart=s.loopstart;	q->loopend=s.loopend;	q->flags=SF_SIGNED;	if(s.flags&ULTS_LOOP){	    q->flags|=SF_LOOP;	}	if(s.flags&ULTS_16BITS){	    q->flags|=SF_16BITS;	    q->loopstart>>=1;	    q->loopend>>=1;	}	/*      printf("Sample %d %s length %ld/n",t,d->samplename,d->length); */	d++;//.........这里部分代码省略.........
开发者ID:fatman2021,项目名称:myforthprocessor,代码行数:101,


示例20: MTM_Load

static int MTM_Load(int curious){	int t,u;	MTMSAMPLE s;	SAMPLE *q;    (void)curious;	/* try to read module header  */	_mm_read_UBYTES(mh->id,3,modreader);	mh->version     =_mm_read_UBYTE(modreader);	_mm_read_string(mh->songname,20,modreader);	mh->numtracks   =_mm_read_I_UWORD(modreader);	mh->lastpattern =_mm_read_UBYTE(modreader);	mh->lastorder   =_mm_read_UBYTE(modreader);	mh->commentsize =_mm_read_I_UWORD(modreader);	mh->numsamples  =_mm_read_UBYTE(modreader);	mh->attribute   =_mm_read_UBYTE(modreader);	mh->beatspertrack=_mm_read_UBYTE(modreader);	mh->numchannels =_mm_read_UBYTE(modreader);	_mm_read_UBYTES(mh->panpos,32,modreader);	if(_mm_eof(modreader)) {		_mm_errno = MMERR_LOADING_HEADER;		return 0;	}	/* set module variables */	of.initspeed = 6;	of.inittempo = 125;	of.modtype   = StrDup(MTM_Version);	of.numchn    = mh->numchannels;	of.numtrk    = mh->numtracks+1;           /* get number of channels */	of.songname  = DupStr(mh->songname,20,1); /* make a cstr of songname */	of.numpos    = mh->lastorder+1;           /* copy the songlength */	of.numpat    = mh->lastpattern+1;	of.reppos    = 0;	of.flags    |= UF_PANNING;	for(t=0;t<32;t++) of.panning[t]=mh->panpos[t]<< 4;	of.numins=of.numsmp=mh->numsamples;	if(!AllocSamples()) return 0;	q=of.samples;	for(t=0;t<of.numins;t++) {		/* try to read sample info */		_mm_read_string(s.samplename,22,modreader);		s.length    =_mm_read_I_ULONG(modreader);		s.reppos    =_mm_read_I_ULONG(modreader);		s.repend    =_mm_read_I_ULONG(modreader);		s.finetune  =_mm_read_UBYTE(modreader);		s.volume    =_mm_read_UBYTE(modreader);		s.attribute =_mm_read_UBYTE(modreader);		if(_mm_eof(modreader)) {			_mm_errno = MMERR_LOADING_SAMPLEINFO; 			return 0;		}		q->samplename = DupStr(s.samplename,22,1);		q->seekpos   = 0;		q->speed     = finetune[s.finetune];		q->length    = s.length;		q->loopstart = s.reppos;		q->loopend   = s.repend;		q->volume    = s.volume;		if((s.repend-s.reppos)>2) q->flags |= SF_LOOP;		if(s.attribute&1) {			/* If the sample is 16-bits, convert the length and replen			   byte-values into sample-values */			q->flags|=SF_16BITS;			q->length>>=1;			q->loopstart>>=1;			q->loopend>>=1;		}		q++;	}
开发者ID:4nykey,项目名称:rockbox,代码行数:76,


示例21: if

		tracker=NUMTRACKERS-1; /* unknown tracker */	else {		if(mh->tracker>=0x3217)			tracker=NUMTRACKERS+1; /* IT 2.14p4 */		else if(mh->tracker>=0x3216)			tracker=NUMTRACKERS; /* IT 2.14p3 */		else tracker--;	}	of.modtype = strdup(S3M_Version[tracker]);	if(tracker<NUMTRACKERS) {		of.modtype[numeric[tracker]] = ((mh->tracker>>8) &0xf)+'0';		of.modtype[numeric[tracker]+2] = ((mh->tracker>>4)&0xf)+'0';		of.modtype[numeric[tracker]+3] = ((mh->tracker)&0xf)+'0';	}	/* set module variables */	of.songname    = DupStr(mh->songname,28,0);	of.numpat      = mh->patnum;	of.reppos      = 0;	of.numins      = of.numsmp = mh->insnum;	of.initspeed   = mh->initspeed;	of.inittempo   = mh->inittempo;	of.initvolume  = mh->mastervol<<1;	of.flags      |= UF_ARPMEM | UF_PANNING;	if((mh->tracker==0x1300)||(mh->flags&64))		of.flags|=UF_S3MSLIDES;	of.bpmlimit    = 32;	/* read the order data */	if(!AllocPositions(mh->ordnum)) return 0;	if(!(origpositions=_mm_calloc(mh->ordnum,sizeof(UWORD)))) return 0;
开发者ID:fruitz-of-dojo,项目名称:libmikmod,代码行数:30,


示例22: S69_Load

BOOL S69_Load(BOOL curious){	int i;	SAMPLE *current;	S69SAMPLE sample;	/* module header */	_mm_read_UBYTES(mh->marker,2,modreader);	_mm_read_UBYTES(mh->message,108,modreader);	mh->nos=_mm_read_UBYTE(modreader);	mh->nop=_mm_read_UBYTE(modreader);	mh->looporder=_mm_read_UBYTE(modreader);	_mm_read_UBYTES(mh->orders,0x80,modreader);	for(i=0;i<0x80;i++)		if ((mh->orders[i]>=0x80)&&(mh->orders[i]!=0xff)) {			_mm_errno=MMERR_NOT_A_MODULE;			return 1;		}	_mm_read_UBYTES(mh->tempos,0x80,modreader);	for(i=0;i<0x80;i++)		if ((!mh->tempos[i])||(mh->tempos[i]>32)) {			_mm_errno=MMERR_NOT_A_MODULE;			return 1;		}	_mm_read_UBYTES(mh->breaks,0x80,modreader);	for(i=0;i<0x80;i++)		if (mh->breaks[i]>0x3f) {			_mm_errno=MMERR_NOT_A_MODULE;			return 1;		}	/* set module variables */	of.initspeed=4;	of.inittempo=78;	of.songname=DupStr(mh->message,36,1);	of.modtype=StrDup(S69_Version[memcmp(mh->marker,"JN",2)==0]);	of.numchn=8;	of.numpat=mh->nop;	of.numins=of.numsmp=mh->nos;	of.numtrk=of.numchn*of.numpat;	of.flags=UF_XMPERIODS|UF_LINEAR;	for(i=   35;(i>=   0)&&(mh->message[i]==' ');i--) mh->message[i]=0;	for(i=36+35;(i>=36+0)&&(mh->message[i]==' ');i--) mh->message[i]=0;	for(i=72+35;(i>=72+0)&&(mh->message[i]==' ');i--) mh->message[i]=0;	if((mh->message[0])||(mh->message[36])||(mh->message[72]))		if((of.comment=(CHAR*)MikMod_malloc(3*(36+1)+1))) {			strncpy(of.comment,mh->message,36);			strcat(of.comment,"/r");			if (mh->message[36]) strncat(of.comment,mh->message+36,36);			strcat(of.comment,"/r");			if (mh->message[72]) strncat(of.comment,mh->message+72,36);			strcat(of.comment,"/r");			of.comment[3*(36+1)]=0;		}	if(!AllocPositions(0x80)) return 0;	for(i=0;i<0x80;i++) {		if(mh->orders[i]>=mh->nop) break;		of.positions[i]=mh->orders[i];	}	of.numpos=i;	of.reppos=mh->looporder<of.numpos?mh->looporder:0;	if(!AllocSamples()) return 0;	current=of.samples;	for(i=0;i<of.numins;i++) {		/* sample information */		_mm_read_UBYTES((UBYTE*)sample.filename,13,modreader);		sample.length=_mm_read_I_SLONG(modreader);		sample.loopbeg=_mm_read_I_SLONG(modreader);		sample.loopend=_mm_read_I_SLONG(modreader);		if (sample.loopend==0xfffff) sample.loopend=0;		if((sample.length<0)||(sample.loopbeg<-1)||(sample.loopend<-1)) {			_mm_errno = MMERR_LOADING_HEADER;			return 0;		}		current->samplename=DupStr(sample.filename,13,1);		current->seekpos=0;		current->speed=0;		current->length=sample.length;		current->loopstart=sample.loopbeg;		current->loopend=sample.loopend;		current->flags=(sample.loopbeg<sample.loopend)?SF_LOOP:0;		current->volume=64;		current++;	}	if(!S69_LoadPatterns()) return 0;	return 1;}
开发者ID:LighFusion,项目名称:surreal,代码行数:96,



注:本文中的DupStr函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DupString函数代码示例
C++ DumpVar函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。