这篇教程C++ Buffer函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中Buffer函数的典型用法代码示例。如果您正苦于以下问题:C++ Buffer函数的具体用法?C++ Buffer怎么用?C++ Buffer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了Buffer函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: FlushDNSFIFOMonitor//Flush DNS cache FIFO Monitorbool FlushDNSFIFOMonitor( void){//Initialization unlink(FIFO_PATH_NAME); std::shared_ptr<char> Buffer(new char[PACKET_MAXSIZE]()); memset(Buffer.get(), 0, PACKET_MAXSIZE); int FIFO_FD = 0;//Create FIFO. if (mkfifo(FIFO_PATH_NAME, O_CREAT) < EXIT_SUCCESS || chmod(FIFO_PATH_NAME, S_IRUSR|S_IWUSR|S_IWGRP|S_IWOTH) < EXIT_SUCCESS) { PrintError(LOG_ERROR_SYSTEM, L"Create FIFO error", errno, nullptr, 0); unlink(FIFO_PATH_NAME); return false; }//Open FIFO. FIFO_FD = open(FIFO_PATH_NAME, O_RDONLY, 0); if (FIFO_FD < EXIT_SUCCESS) { PrintError(LOG_ERROR_SYSTEM, L"Create FIFO error", errno, nullptr, 0); unlink(FIFO_PATH_NAME); return false; }//FIFO Monitor for (;;) { memset(Buffer.get(), 0, PACKET_MAXSIZE); if (read(FIFO_FD, Buffer.get(), PACKET_MAXSIZE) > 0 && memcmp(Buffer.get(), FIFO_MESSAGE_FLUSH_DNS, strlen(FIFO_MESSAGE_FLUSH_DNS)) == EXIT_SUCCESS) FlushAllDNSCache(); Sleep(LOOP_INTERVAL_TIME_MONITOR); }//Monitor terminated close(FIFO_FD); unlink(FIFO_PATH_NAME); PrintError(LOG_ERROR_SYSTEM, L"FIFO module Monitor terminated", 0, nullptr, 0); return true;}
开发者ID:qq98982,项目名称:Pcap_DNSProxy,代码行数:45,
示例2: bufferICQFullInfo::AddressItemList ICQFullInfo::parseAddressItemList( const QByteArray& data ) const{ Buffer buffer( data ); AddressItemList infoList; int count = buffer.getWord(); while ( (count--) > 0 ) { QList<TLV> tlvList = Buffer( buffer.getBSTR() ).getTLVList(); AddressItem info; QList<TLV>::const_iterator it; for ( it = tlvList.constBegin(); it != tlvList.constEnd(); ++it ) { switch ( (*it).type ) { case 0x0064: info.address = (*it).data; break; case 0x006E: info.city = (*it).data; break; case 0x0078: info.state = (*it).data; break; case 0x0082: info.zip = (*it).data; break; case 0x008C: { Buffer b( (*it).data ); info.country = b.getDWord(); } break; default: kDebug(OSCAR_RAW_DEBUG) << "Unhandled tlv: " << hex << (*it).type << " data: " << hex << (*it).data; break; } } infoList.append( info ); } return infoList;}
开发者ID:Jtalk,项目名称:kopete-fork-xep0136,代码行数:43,
示例3: produce_one bool produce_one() { ssize_t n = getline(&buffer_, &cap_, file_); if (n <= 0) { return false; } if (buffer_[n-1] == '/n') { buffer_[n-1] = '/0'; n--; } emit(Buffer(buffer_, n)); return true; }
开发者ID:huiliang,项目名称:geoloc,代码行数:19,
|