这篇教程C++ sputc函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中sputc函数的典型用法代码示例。如果您正苦于以下问题:C++ sputc函数的具体用法?C++ sputc怎么用?C++ sputc使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了sputc函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: sync debuggeroutbuf<char>::int_type debuggeroutbuf<char>::overflow(int_type ch) { if(ch == traits_type::eof()) return traits_type::eof(); *epptr() = ch; // SJIS? if(-1 == _ismbstrail((const unsigned char *)pbase(), (const unsigned char *)epptr())) { char *lbp; for(lbp = epptr()-1; lbp > pbase(); lbp--) { if(-1 == _ismbslead((const unsigned char *)pbase(), (const unsigned char *)lbp)) { break; } } int _ch = *lbp; *lbp = '/0'; sync(); sputc(_ch); for(lbp++; lbp <= epptr(); lbp++) { sputc(*lbp); } *epptr() = '/0'; } else { *epptr() = '/0'; sync(); sputc(ch); } return traits_type::not_eof(ch); }
开发者ID:Emulyator,项目名称:gamecatapult,代码行数:27,
示例2: mainvoid main(void){ clock_int_48MHz(); habilita_interrupcao(recep_serial); taxa_serial(9600); habilita_canal_AD(AN0); iniws(); //habilita_wdt(); while(1) { //ClrWdt(); if (flagsw==1) {flagsw=0;tempo_ms(500); ADvalue=le_AD10bits(0); tempo_ms(500); for(i=0;pg[i]!=0;i++) {smid[i]=pg[i];sputc(smid[i]);} for(i=0;pg1[i]!=0;i++) {smid[i]=pg1[i];sputc(smid[i]);} for(i=0;rede[i]!='/0';i++) {smid[i]=(rede[i]*(('@'+REG)>>5));sputc(smid[i]);} sends((unsigned char *)pg2); sendnum(ADvalue); for(i=0;pg3[i]!=0;i++) {smid[i]=pg3[i];sputc(smid[i]);} for(i=0;pg4[i]!=0;i++) {smid[i]=pg4[i];sputc(smid[i]);} tempo_ms(500); } }
开发者ID:SanUSB-grupo,项目名称:Exemplos-MPLABX-C18,代码行数:26,
示例3: getdecBlk*getdec(Blk *p, int sc){ int cc; Blk *q, *t, *s; rewind(p); if(length(p)*2 < sc) { q = copy(p,length(p)); return(q); } q = salloc(length(p)); while(sc >= 1) { sputc(q,sgetc(p)); sc -= 2; } if(sc != 0) { t = mult(q,tenptr); s = salloc(cc = length(q)); release(q); rewind(t); while(cc-- > 0) sputc(s,sgetc(t)); sputc(s,0); release(t); t = div(s,tenptr); release(s); release(rem); return(t); } return(q);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:32,
示例4: removrstruct blk *removr(struct blk *p,int n){ int nn; register struct blk *q,*s,*r; rewind(p); nn = (n+1)/2; q = salloc(nn); while(n>1){ sputc(q,sgetc(p)); n -= 2; } r = salloc(2); while(sfeof(p) == 0)sputc(r,sgetc(p)); release(p); if(n == 1){ s = dcdiv(r,tenptr); release(r); rewind(rem); if(sfeof(rem) == 0)sputc(q,sgetc(rem)); release(rem); irem = q; return(s); } irem = q; return(r);}
开发者ID:Sunshine-OS,项目名称:svr4-userland,代码行数:28,
示例5: sput_variable_uint/* Put a variable-length uint on a stream. */voidsput_variable_uint(stream *s, uint w){ for (; w > 0x7f; w >>= 7) sputc(s, (byte)(w | 0x80)); sputc(s, (byte)w);}
开发者ID:ststeiger,项目名称:ghostsvg,代码行数:8,
示例6: chsignvoidchsign(Blk *p){ int carry; char ct; carry=0; rewind(p); while(sfeof(p) == 0) { ct=100-slookc(p)-carry; carry=1; if(ct>=100) { ct -= 100; carry=0; } salterc(p,ct); } if(carry != 0) { sputc(p,-1); fsfile(p); backc(p); ct = sbackc(p); if(ct == 99 /*&& !sfbeg(p)*/) { truncate(p); sputc(p,-1); } } else{ fsfile(p); ct = sbackc(p); if(ct == 0) truncate(p); } return;}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:34,
示例7: chsignvoidchsign(struct blk *p){ register int carry; register char ct; carry=0; rewind(p); while(sfeof(p) == 0){ ct=100-slookc(p)-carry; carry=1; if(ct>=100){ ct -= 100; carry=0; } salterc(p,ct); } if(carry != 0){ sputc(p,-1); fsfile(p); sbackc(p); ct = sbackc(p); if(ct == 99){ truncate(p); sputc(p,-1); } } else{ fsfile(p); ct = sbackc(p); if(ct == 0)truncate(p); } return;}
开发者ID:Sunshine-OS,项目名称:svr4-userland,代码行数:34,
示例8: initvoidinit(int argc,char **argv){ register struct sym *sp; if (sigset(SIGINT, SIG_IGN) != SIG_IGN) sigset(SIGINT,onintr); setbuf(stdout,(char *)NULL); svargc = --argc; svargv = argv; while(svargc>0 && svargv[1][0] == '-'){ switch(svargv[1][1]){ default: dbg=1; } svargc--; svargv++; } ifile=1; if(svargc<=0)curfile = stdin; else if((curfile = fopen(svargv[1],"r")) == NULL){ printf("can't open file %s/n",svargv[1]); exit(1); } scalptr = salloc(1); sputc(scalptr,0); basptr = salloc(1); sputc(basptr,10); obase=10; log_10=log_2(10L); ll=68; fw=1; fw1=0; tenptr = salloc(1); sputc(tenptr,10); obase=10; inbas = salloc(1); sputc(inbas,10); sqtemp = salloc(1); sputc(sqtemp,2); chptr = salloc(0); strptr = salloc(0); divxyz = salloc(0); stkbeg = stkptr = &stack[0]; stkend = &stack[STKSZ]; stkerr = 0; readptr = &readstk[0]; k=0; sp = sptr = &symlst[0]; while(sptr < &symlst[TBLSZ]){ sptr->next = ++sp; sptr++; } sptr->next=0; sfree = &symlst[0]; return;}
开发者ID:Sunshine-OS,项目名称:svr4-userland,代码行数:57,
示例9: dcexpBlk*dcexp(Blk *base, Blk *ex){ Blk *r, *e, *p, *e1, *t, *cp; int temp, c, n; r = salloc(1); sputc(r,1); p = copy(base,length(base)); e = copy(ex,length(ex)); fsfile(e); if(sfbeg(e) != 0) goto edone; temp=0; c = sbackc(e); if(c<0) { temp++; chsign(e); } while(length(e) != 0) { e1=div(e,sqtemp); release(e); e = e1; n = length(rem); release(rem); if(n != 0) { e1=mult(p,r); release(r); r = e1; } t = copy(p,length(p)); cp = mult(p,t); release(p); release(t); p = cp; } if(temp != 0) { if((c = length(base)) == 0) { goto edone; } if(c>1) create(r); else { rewind(base); if((c = sgetc(base))<=1) { create(r); sputc(r,c); } else create(r); } }edone: release(p); release(e); return(r);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:56,
示例10: turnoutCmdstatic void turnoutCmd(char address, char cmd, TurnoutTable *turnout_state) { int i = 0, row = 0, col = 0; if (address >= 1 && address <= 18) { i = address - 1; row = i / 3 + 1; col = 9 * (i % 3) + 8; } else if (address >= 153 && address <= 156) { i = address - 135; row = 8; col = 9 * (address - 153) + 8; } else { assert(0); } int mask = 1 << i; char *colour; char rep; // don't repeat commands if (cmd == CURVE) { if ((*turnout_state & mask) == 0) { colour = YELLOW; rep = 'C'; *turnout_state |= mask; } else { return; } } else if (cmd == STRAIGHT) { if ((*turnout_state & mask) == 0) { return; } else { colour = GREEN; rep = 'S'; *turnout_state &= ~mask; } } else { assert(0); } struct String s; sinit(&s); sputc(&s, cmd); sputc(&s, address); sputc(&s, CLEAR_SOLENOID); tioPrint(&s); sinit(&s); sputstr(&s, CURSOR_SAVE); vtPos(&s, SWITCH_ROW + row, col); sputstr(&s, colour); sputc(&s, rep); sputstr(&s, RESET); sputstr(&s, CURSOR_RESTORE); mioPrint(&s);}
开发者ID:christophebiocca,项目名称:realtime-kernel,代码行数:56,
示例11: readinBlk*readin(void){ Blk *p, *q; int dp, dpct, c; dp = dpct=0; p = salloc(0); for(;;){ c = readc(); switch(c) { case '.': if(dp != 0) goto gotnum; dp++; continue; case '//': readc(); continue; default: if(c >= 'A' && c <= 'F') c = c - 'A' + 10; else if(c >= '0' && c <= '9') c -= '0'; else goto gotnum; if(dp != 0) { if(dpct >= 99) continue; dpct++; } create(chptr); if(c != 0) sputc(chptr,c); q = mult(p,inbas); release(p); p = add(chptr,q); release(q); } }gotnum: unreadc(c); if(dp == 0) { sputc(p,0); return(p); } else { q = scale(p,dpct); return(q); }}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:51,
示例12: addBlk*add(Blk *a1, Blk *a2){ Blk *p; int carry, n, size, c, n1, n2; size = length(a1)>length(a2)?length(a1):length(a2); p = salloc(size); rewind(a1); rewind(a2); carry=0; while(--size >= 0) { n1 = sfeof(a1)?0:sgetc(a1); n2 = sfeof(a2)?0:sgetc(a2); n = n1 + n2 + carry; if(n>=100) { carry=1; n -= 100; } else if(n<0) { carry = -1; n += 100; } else carry = 0; sputc(p,n); } if(carry != 0) sputc(p,carry); fsfile(p); if(sfbeg(p) == 0) { c = 0; while(sfbeg(p) == 0 && (c = sbackc(p)) == 0) ; if(c != 0) salterc(p,c); truncate(p); } fsfile(p); if(sfbeg(p) == 0 && sbackc(p) == -1) { while((c = sbackc(p)) == 99) { if(c == -1) break; } skipc(p); salterc(p,-1); truncate(p); } return(p);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:49,
示例13: filterComment/* * Filters comments from sin stream and stores it into sout stream. */void filterComment(STREAM sin, STREAM sout) { // Initialize vars. int ch = sgetc(sin), ch2; int newline = 1; while (1) { // Potentional comment begin. if (ch == '/') { // Check next character. ch2 = sgetc(sin); if (ch2 == '/') { // Comment started - skip all chars until end of line. ch = sgetc(sin); while ((ch >= 0) && (ch != '/n')) ch = sgetc(sin); // If comment spaned over whole line (ingore LF). if (newline) { ch = sgetc(sin); continue; } // Coment has not started. } else { sputc(sout, ch); // Print out slash. ch = ch2; } } // File ended or error occured during reading -> finish reading. if (ch < 0) break; // Print out character. sputc(sout, ch); // Check newline and get another character. newline = (ch == '/n'); ch = sgetc(sin); } // Check for errors. if (serror(sin)) error("Error occured while reading input file.");}
开发者ID:ReCodEx,项目名称:worker,代码行数:51,
示例14: pptr DeflateStreamBuf::int_type DeflateStreamBuf::overflow(int_type c) { // initialize input-stream stream.next_in = reinterpret_cast<Bytef*>(&obuffer[0]); stream.avail_in = pptr() - &obuffer[0]; // initialize zbuffer for deflated data char zbuffer[8192]; stream.next_out = reinterpret_cast<Bytef*>(zbuffer); stream.avail_out = sizeof(zbuffer); // deflate checkError(::deflate(&stream, Z_NO_FLUSH), stream); // copy zbuffer to sink / consume deflated data std::streamsize count = sizeof(zbuffer) - stream.avail_out; if (count > 0) { std::streamsize n = sink->sputn(zbuffer, count); if (n < count) return traits_type::eof(); } // move remaining characters to start of obuffer if (stream.avail_in > 0) memmove(&obuffer[0], stream.next_in, stream.avail_in); // reset outbuffer setp(&obuffer[0] + stream.avail_in, &obuffer[0] + obuffer.size()); if (c != traits_type::eof()) sputc(traits_type::to_char_type(c)); return 0; }
开发者ID:913862627,项目名称:tntnet,代码行数:34,
示例15: loadvoidload(void){ register int c; register struct blk *p,*q; struct blk *t,*s; c = readc() & 0377; sptr = stable[c]; if(sptr != 0){ p = sptr->val; if(c >= ARRAYST){ q = salloc(length(p)); rewind(p); while(sfeof(p) == 0){ s = dcgetwd(p); if(s == 0){putwd(q, (struct blk *)NULL);} else{ t = copy(s,length(s)); putwd(q,t); } } pushp(q); } else{ q = copy(p,length(p)); pushp(q); } } else{ q = salloc(1); sputc(q,0); pushp(q); } return;}
开发者ID:Sunshine-OS,项目名称:svr4-userland,代码行数:34,
示例16: dscaleintdscale(void){ register struct blk *dd,*dr; register struct blk *r; int c; dr = pop(); EMPTYS; dd = pop(); EMPTYSR(dr); fsfile(dd); skd = sunputc(dd); fsfile(dr); skr = sunputc(dr); if(sfbeg(dr) == 1 || (sfbeg(dr) == 0 && sbackc(dr) == 0)){ sputc(dr,skr); pushp(dr); errorrt("divide by 0/n"); } c = k-skd+skr; if(c < 0)r = removr(dd,-c); else { r = add0(dd,c); irem = 0; } arg1 = r; arg2 = dr; savk = k; return(0);}
开发者ID:Sunshine-OS,项目名称:svr4-userland,代码行数:30,
示例17: finish_requestint rpcbuf::overflow(int c) { if (!_opened || allocate() == EOF) { return EOF; } if (c == EOF) { finish_request(); } if (rptr() == pbase() && pptr() >= epptr() && !expand_p()) { error("rpcbuf::overflow: out of memory"); return EOF; } int nwrite = (rptr() >= pbase()) ? rptr() - pbase() : out_waiting(); int count = 0; while (count < nwrite) { int nsent = write(_fd, pbase() + count, nwrite - count); if (nsent < 0) { sys_error("rpcbuf::overflow: write"); return EOF; } count += nsent; } if (rptr() > pbase()) { Memory::copy(rptr(), pbase(), pptr() - rptr()); rbump(-nwrite); } pbump(-nwrite); if (c != EOF) { sputc(c); } return zapeof(c);}
开发者ID:neurodebian,项目名称:iv-hines,代码行数:35,
示例18: whileCT_INT_TYPE CIndentingStreambuf::overflow(CT_INT_TYPE c){ if (m_NeedIndent && pptr() != pbase()) { m_Buf->sputn(m_Indent.data(), m_Indent.size()); m_NeedIndent = false; } if ( !m_OutputActive ) { // avoid double-indenting m_OutputActive = true; const char *p, *oldp = m_PutArea; while (oldp < pptr() && (p = (const char*)memchr(oldp, '/n', pptr() - oldp)) != 0) { m_Buf->sputn(oldp, p - oldp + 1); if (p == pptr() - 1) { m_NeedIndent = true; // defer } else { m_Buf->sputn(m_Indent.data(), m_Indent.size()); } oldp = p + 1; } m_Buf->sputn(oldp, pptr() - oldp); m_OutputActive = false; setp(m_PutArea, m_PutArea + sizeof(m_PutArea)); } if ( !CT_EQ_INT_TYPE(c, CT_EOF) ) { sputc(CT_TO_CHAR_TYPE(c)); } return CT_NOT_EOF(CT_EOF);}
开发者ID:DmitrySigaev,项目名称:ncbi,代码行数:28,
示例19: syncstd::basic_streambuf<char>::int_type LoggerBuffer::overflow(std::basic_streambuf<char>::int_type c){ if (!_roll) { return 0; } if (_buffer_len >= MAX_BUFFER_LENGTH) { sync(); } else { reserve(_buffer_len * 2); } if (std::char_traits<char_type>::eq_int_type(c,std::char_traits<char_type>::eof()) ) { return std::char_traits<char_type>::not_eof(c); } else { return sputc(c); } return 0;}
开发者ID:peerswu,项目名称:Jump,代码行数:26,
示例20: setpgzstreambuf::int_typegzstreambuf::overflow( int_type c ){ // this method is supposed to flush the put area of the buffer // to the I/O device // if the buffer was not already allocated nor set by user, // do it just now if ( pptr() == NULL ) { M_output_buffer = new char_type[ M_buffer_size ]; } else { if ( ! writeData() ) { return EOF; } } setp( M_output_buffer, M_output_buffer + M_buffer_size ); if ( c != EOF ) { sputc( c ); } return 0;}
开发者ID:edymanoloiu,项目名称:FotbalRobotic,代码行数:27,
示例21: sputc/*!*/gzfilterstreambuf::int_typegzfilterstreambuf::overflow( int_type c ){ // if the buffer was not already allocated nor set by user, // do it just now if ( pptr() == NULL ) { M_output_buf = new char_type[ M_buf_size ]; } else { if ( ! writeData() ) { return traits_type::eof(); } } // reset putting buffer pointer this->setp( M_output_buf, M_output_buf + M_buf_size ); if ( c != traits_type::eof() ) { sputc( c ); } return 0;}
开发者ID:mhauskn,项目名称:librcsc,代码行数:30,
示例22: removrBlk*removr(Blk *p, int n){ int nn, neg; Blk *q, *s, *r; fsfile(p); neg = sbackc(p); if(neg < 0) chsign(p); rewind(p); nn = (n+1)/2; q = salloc(nn); while(n>1) { sputc(q,sgetc(p)); n -= 2; } r = salloc(2); while(sfeof(p) == 0) sputc(r,sgetc(p)); release(p); if(n == 1){ s = div(r,tenptr); release(r); rewind(rem); if(sfeof(rem) == 0) sputc(q,sgetc(rem)); release(rem); if(neg < 0){ chsign(s); chsign(q); irem = q; return(s); } irem = q; return(s); } if(neg < 0) { chsign(r); chsign(q); irem = q; return(r); } irem = q; return(r);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:46,
示例23: overflow virtual int_type overflow(int_type ch) { if(ch == traits_type::eof()) return traits_type::eof(); *epptr() = (char_type)L'/0'; sync(); sputc(ch); return traits_type::not_eof(ch); }
开发者ID:Emulyator,项目名称:gamecatapult,代码行数:8,
示例24: sync int sync() { sputc(0); // 字符串终止 if (m_handler.valid()) m_handler->notify(m_severity, pbase()); pubseekpos(0, std::ios_base::out); // or str(std::string()) return 0; }
开发者ID:lucasa,项目名称:3DReconstruction,代码行数:8,
示例25: scaleBlk*scale(Blk *p, int n){ Blk *q, *s, *t; t = add0(p,n); q = salloc(1); sputc(q,n); s = dcexp(inbas,q); release(q); q = div(t,s); release(t); release(s); release(rem); sputc(q,n); return(q);}
开发者ID:carriercomm,项目名称:plan9-gpl,代码行数:17,
示例26: putnstr /*! * @brief send n chars */static void putnstr(char * str, uint8_t n){ while (n--) { sputc(*str++); }}
开发者ID:jeenter,项目名称:CH-K-Lib,代码行数:11,
示例27: sync int sync() { sputc(0); // string termination if (_handler.valid()) _handler->notify(_severity, pbase()); pubseekpos(0, std::ios_base::out); // or str(std::string()) return 0; }
开发者ID:yueying,项目名称:osg,代码行数:8,
示例28: syncint HTTPChunkedStreamBuf::overflow(int c){ sync(); if (c != EOF && (pptr() < epptr())) { // guard against recursion sputc(c); } return 0L; // return 0 if successful}
开发者ID:chenbk85,项目名称:CuteTestForCoastTest,代码行数:8,
示例29: writeUint24int writeUint24( INOUT STREAM *stream, IN_LENGTH const int length ) { assert( isWritePtr( stream, sizeof( STREAM ) ) ); REQUIRES_S( length >= 0 && / length < MAX_PACKET_SIZE + EXTRA_PACKET_SIZE ); sputc( stream, 0 ); return( writeUint16( stream, length ) ); }
开发者ID:klamonte,项目名称:qodem,代码行数:10,
注:本文中的sputc函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ spy函数代码示例 C++ sput_fail_unless函数代码示例 |