• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ readHeader函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: readFile

/// This function reads data from file
void readFile( std::string t_filepath )
{
    std::ifstream a_csvread( t_filepath.c_str() );
    if(!a_csvread.is_open())
        std::cout << "Error at opening file: " << t_filepath << std::endl;
    else {
        // file is available

        // read file header
        HeaderData a_header;
        readHeader( a_csvread, a_header );
        std::cout <<  a_header.m_versionString << ": " << a_header.m_major << "." << a_header.m_minor << std::endl;
        std::cout <<  a_header.m_numberOfDataString << ": " << a_header.m_numberOfDataItems << std::endl;

        // read file data
        for( CenterPoint a_data; readData( a_csvread, a_data ); ) { // Nice for-loop
            std::cout <<  a_data.m_name << ", x=" << a_data.m_x << ", y=" << a_data.m_y << std::endl;
        }

        a_csvread.close();
    }
}
开发者ID:meilu2two,项目名称:apps,代码行数:23,代码来源:main.cpp


示例2: objectStream

bool Foam::IOobject::headerOk()
{
    bool ok = true;

    Istream* isPtr = objectStream();

    // If the stream has failed return
    if (!isPtr)
    {
        if (objectRegistry::debug)
        {
            Info
                << "IOobject::headerOk() : "
                << "file " << objectPath() << " could not be opened"
                << endl;
        }

        ok = false;
    }
    else
    {
        // Try reading header
        if (!readHeader(*isPtr))
        {
            if (objectRegistry::debug)
            {
                IOWarningIn("IOobject::headerOk()", (*isPtr))
                    << "failed to read header of file " << objectPath()
                    << endl;
            }

            ok = false;
        }
    }

    delete isPtr;

    return ok;
}
开发者ID:GJOMAA,项目名称:OpenFOAM-dev,代码行数:39,代码来源:IOobject.C


示例3: initLoad

bool BasePersistenceManager::initLoad(const Common::String &filename) {
	if (DID_FAIL(readHeader(filename))) {
		cleanup();
		return STATUS_FAILED;
	}
	_saving = false;

	if (_savedName == "" || scumm_stricmp(_savedName.c_str(), _gameRef->getName()) != 0) {
		debugC(kWintermuteDebugSaveGame, "ERROR: Saved game name doesn't match current game");
		cleanup();
		return STATUS_FAILED;
	}

	// if save is newer version than we are, fail
	if (_savedVerMajor >  DCGF_VER_MAJOR ||
	        (_savedVerMajor == DCGF_VER_MAJOR && _savedVerMinor >  DCGF_VER_MINOR) ||
	        (_savedVerMajor == DCGF_VER_MAJOR && _savedVerMinor == DCGF_VER_MINOR && _savedVerBuild > DCGF_VER_BUILD)
	   ) {

		debugC(kWintermuteDebugSaveGame, "ERROR: Saved game version is newer than current game");
		debugC(kWintermuteDebugSaveGame, "ERROR: Expected %d.%d.%d got %d.%d.%d", DCGF_VER_MAJOR, DCGF_VER_MINOR, DCGF_VER_BUILD, _savedVerMajor, _savedVerMinor, _savedVerBuild);
		cleanup();
		return STATUS_FAILED;
	}

	// if save is older than the minimal version we support
	if (_savedVerMajor <  SAVEGAME_VER_MAJOR ||
	        (_savedVerMajor == SAVEGAME_VER_MAJOR && _savedVerMinor <  SAVEGAME_VER_MINOR) ||
	        (_savedVerMajor == SAVEGAME_VER_MAJOR && _savedVerMinor == SAVEGAME_VER_MINOR && _savedVerBuild < SAVEGAME_VER_BUILD)
	   ) {
		debugC(kWintermuteDebugSaveGame, "ERROR: Saved game is too old and cannot be used by this version of game engine");
		debugC(kWintermuteDebugSaveGame, "ERROR: Expected %d.%d.%d got %d.%d.%d", DCGF_VER_MAJOR, DCGF_VER_MINOR, DCGF_VER_BUILD, _savedVerMajor, _savedVerMinor, _savedVerBuild);
		cleanup();
		return STATUS_FAILED;

	}

	return STATUS_OK;
}
开发者ID:mokerjoke,项目名称:scummvm,代码行数:39,代码来源:base_persistence_manager.cpp


示例4: HistogramReader

FfhReader::FfhReader(const std::string& filename) : 
   HistogramReader(filename)
{
   readHeader();

   auto it = images.find("IntensityNormalisation");
   if (it != images.end())
   {
      intensity_normalisation = it->second;
      auto size = intensity_normalisation.size();
      std::vector<int> dims = { 1, size.height, size.width };
      intensity_normalisation = intensity_normalisation.reshape(0, 3, &dims[0]);

      // For old-style uncorrected (for #frames) normalisation maps, correct based on maximum
      if (intensity_normalisation.type() == CV_16U)
      {
         double mn, mx;
         cv::minMaxIdx(intensity_normalisation, &mn, &mx);
         intensity_normalisation.convertTo(intensity_normalisation, CV_32F, 1.0 / mx, 0);
      }
   }
}
开发者ID:seanwarren,项目名称:FLIMreader,代码行数:22,代码来源:FfhReader.cpp


示例5: readHeader

SaveStateList SaveFileManager::list(const Common::String &target) {
	Common::SaveFileManager *saveFileMan = g_system->getSavefileManager();
	Common::StringArray files = saveFileMan->listSavefiles(target + ".###");

	SaveStateList saveList;
	for (Common::StringArray::const_iterator fileName = files.begin(); fileName != files.end(); ++fileName) {
		Common::InSaveFile *saveFile = saveFileMan->openForLoading(*fileName);
		if (saveFile == nullptr || saveFile->err()) {
			continue;
		}

		BladeRunner::SaveFileHeader header;
		readHeader(*saveFile, header);

		int slotNum = atoi(fileName->c_str() + fileName->size() - 3);
		saveList.push_back(SaveStateDescriptor(slotNum, header._name));
	}

	Common::sort(saveList.begin(), saveList.end(), SaveStateDescriptorSlotComparator());

	return saveList;
}
开发者ID:BenCastricum,项目名称:scummvm,代码行数:22,代码来源:savefile.cpp


示例6: inName

void Decoder::decode(std::string inFileName,std::string outFileName,bool mode)
{
    //open input file
    std::string inName(inFileName);
    if (inName.rfind(".ebast",inName.size()-6) == std::string::npos) {
        std::cerr << "This isn't a ebast File" << std::endl;
        exit(1);
    }
    inFile.open(inFileName, std::ios::in | std::ios::binary);
    if (!inFile.is_open()) {
        std::cerr << "Unable to read File" << std::endl;
        exit(1);
    }
    
    //open output file
    std::string outName(outFileName);
    outName += ".txt";
    if(std::ifstream(outName.c_str()))
    {
        std::cerr<<outName<<" already exists!"<<std::endl;
        exit(1);
    }
    
    outFile.open(outName.c_str(),std::ios::out | std::ios::binary);
    if (!outFile.is_open()) {
        std::cerr << "Unable to create File" << std::endl;
        exit(1);
    }
    
    //reading frequency table from file
    huffmanTree->setRoot(readHeader());
    if (mode) {
        print(huffmanTree->getRoot());
    }
    //make file
    makeFile();
    
}
开发者ID:alfredoliardo,项目名称:pressIt,代码行数:38,代码来源:Decoder.cpp


示例7: readHeader

    int IfdMakerNote::read(const byte* buf,
                           long len,
                           long start,
                           ByteOrder byteOrder,
                           long shift)
    {
        // Remember the offset
        offset_ = start - shift;
        // Set byte order if none is set yet
        if (byteOrder_ == invalidByteOrder) byteOrder_ = byteOrder;
        // Read and check the header (and set offset adjustment)
        int rc = readHeader(buf + start, len - start, byteOrder);
        if (rc == 0) {
            rc = checkHeader();
        }
        // Adjust shift
        long newShift = absShift_ ? shift + shift_ : start + shift_;
        // Read the makernote IFD
        if (rc == 0) {
            rc = ifd_.read(buf, len, start + start_, byteOrder_, newShift);
        }
        if (rc == 0) {
            // IfdMakerNote currently does not support multiple IFDs
            if (ifd_.next() != 0) {
#ifndef SUPPRESS_WARNINGS
                std::cerr << "Warning: Makernote IFD has a next pointer != 0 ("
                          << ifd_.next()
                          << "). Ignored.\n";
#endif
            }
        }
#ifdef DEBUG_MAKERNOTE
        hexdump(std::cerr, buf + start, len - start);
        if (rc == 0) ifd_.print(std::cerr);
#endif

        return rc;
    } // IfdMakerNote::read
开发者ID:obklar,项目名称:exiv2,代码行数:38,代码来源:makernote.cpp


示例8: infile

void GameApp::BuildLevel()
{
	ifstream infile("tilemap.txt");
	string line;
	while (getline(infile, line)) 
	{
			if (line == "[header]") 
			{
				if (!readHeader(infile)) 
				{
					return;
				}
			}
			else if (line == "[layer]") 
			{
				readLayerData(infile);
			}
			else if (line == "[Object Layer 1]") 
			{
				readEntityData(infile);
			}
	}
}
开发者ID:WilsonLiCode,项目名称:GamePro,代码行数:23,代码来源:GameApp.cpp


示例9: clearData

void ModelBinaryLoader::loadBinaryFile(std::string p_FilePath)
{
	clearData();
	std::ifstream input(p_FilePath, std::istream::in | std::istream::binary);
	if(!input)
	{
		throw std::runtime_error("File could not be opened: " + p_FilePath);
	}
	m_FileHeader = readHeader(&input);
	m_Material = readMaterial(m_FileHeader.m_NumMaterial,&input);
	if(m_FileHeader.m_Animated)
	{
		m_AnimationVertexBuffer = readVertexBufferAnimation(m_FileHeader.m_NumVertex, &input);
		calculateBoundingVolume(m_AnimationVertexBuffer);
	}
	else
	{
		m_VertexBuffer = readVertexBuffer(m_FileHeader.m_NumVertex, &input);
		calculateBoundingVolume(m_VertexBuffer);
	}
	m_MaterialBuffer = readMaterialBuffer(m_FileHeader.m_NumMaterialBuffer, &input);
	
}
开发者ID:BuffBuff,项目名称:GE-Architecture,代码行数:23,代码来源:ModelBinaryLoader.cpp


示例10: if

bool MP3Stream::seek(const Timestamp &where) {
	if (where == _length) {
		_state = MP3_STATE_EOS;
		return true;
	} else if (where > _length) {
		return false;
	}

	const uint32 time = where.msecs();

	mad_timer_t destination;
	mad_timer_set(&destination, time / 1000, time % 1000, 1000);

	if (_state != MP3_STATE_READY || mad_timer_compare(destination, _totalTime) < 0)
		initStream();

	while (mad_timer_compare(destination, _totalTime) > 0 && _state != MP3_STATE_EOS)
		readHeader();

	decodeMP3Data();

	return (_state != MP3_STATE_EOS);
}
开发者ID:Templier,项目名称:residual,代码行数:23,代码来源:mp3.cpp


示例11: readHeader

int 
recvFrom
(Peer *peer, byte *headerBuf, byte *dataBuf)
{	
	 	int headerSize = readHeader(peer, headerBuf, HEADERSIZE);
		
		if(headerSize == 0 )
		{
			printf("Non Header \n");
			return 0;
		}
 
		int length = byteToInt(headerBuf, 8);
		int dataSize   = readData(peer  , dataBuf,   length );

		printf("[ from %s ] type : %d, redesc : %d length : %d data : %s \n",
		 peer->ip, byteToInt(headerBuf,0),
                 byteToInt(headerBuf, 4),
                 byteToInt(headerBuf, 8),
                 dataBuf);

		return (headerSize + dataSize);
}
开发者ID:pooingx2,项目名称:SecretGarden,代码行数:23,代码来源:protocol.c


示例12: decompress

void decompress(InputStream& inputStream, OutputBuffer& output, header* pHeader) {

	header h;
	if (pHeader) {
		h = *pHeader;
	} else {
		readHeader(inputStream, h);
	}

	uint8* pInputBuffer	 = new uint8[h.fileSize];
	uint8* pOutputBuffer = new uint8[h.fileSize];

	ArithmeticDecoder	decoder(inputStream);
	StructuredModel		model(h.increments);
	model.decode(decoder, pInputBuffer, h.tempSize);

	iMTF(pInputBuffer, h.tempSize);
	iBWT(pInputBuffer, pOutputBuffer, h.tempSize, h.first);
	iRLE(pOutputBuffer, pInputBuffer, h.tempSize);

	output.setBuffer(pInputBuffer, h.fileSize);
	delete[] pOutputBuffer;
}
开发者ID:johansten,项目名称:cruelcruncher,代码行数:23,代码来源:decompress.cpp


示例13: readFile

int readFile (char *filename, int *rows, int *cols, PIXEL** bitmap) 
{
  int fd, ret;
  unsigned int start;
  
  if(filename) {
    if((fd = open(filename, O_RDONLY)) < 0) {
      perror("Can't open bmp file to read");
      return -1;
    }
  } else fd = STDIN_FILENO;

  ret = readHeader (fd, rows, cols, &start);
  if(ret) return ret;

  *bitmap = (PIXEL*)malloc(sizeof(PIXEL)*(*rows)*(*cols));
  ret = readBits (fd, *bitmap, *rows, *cols, start);
  if(ret) return ret;

  if(filename) close(fd);

  return 0;
}
开发者ID:liuxfiu,项目名称:teach-COP4338F14,代码行数:23,代码来源:bmplib.c


示例14: readHeader

void MDNS::getResponses() {
  QueryHeader header = readHeader(buffer);

  if ((header.flags & 0x8000) == 0 && header.qdcount > 0) {
    uint8_t count = 0;

    while (count++ < header.qdcount && buffer->available() > 0) {
      Label * label = matcher->match(labels, buffer);

      if (buffer->available() >= 4) {
        uint16_t type = buffer->readUInt16();
        uint16_t cls = buffer->readUInt16();

        if (label != NULL) {

          label->matched(type, cls);
        }
      } else {
        status = "Buffer underflow at index " + buffer->getOffset();
      }
    }
  }
}
开发者ID:glibersat,项目名称:firmware,代码行数:23,代码来源:MDNS.cpp


示例15: getName

bool Table::rewind()
{
  xmlTextReaderPtr reader = NULL;

  if ( (reader = xmlNewTextReaderFilename(getName().c_str())) == NULL)
  {
    cout<<endl<<"Essai d'ouvrir "<< getName() <<endl;
    cout << "erreur fatale " << endl;
    return (false);
  }

  xmlTextReaderRead(reader);

  // initialisation du xmlReader
  setXmlReader(reader);
  // Utilise readHeader()
  readHeader();

  // le tuple courant est 0
  currentTuple = 0;

  return (true);
}
开发者ID:BackupTheBerlios,项目名称:micromegas-svn,代码行数:23,代码来源:table.cpp


示例16: checkStream

	//---------------------------------------------------------------------
	uint32 StreamSerialiser::peekNextChunkID()
	{
		checkStream();

		if (eof())
			return 0;

		// Have we figured out the endian mode yet?
		if (mReadWriteHeader)
			readHeader();

		if (mEndian == ENDIAN_AUTO)
			OGRE_EXCEPT(Exception::ERR_INVALID_STATE, 
			"Endian mode has not been determined, did you disable header without setting?", 
			"StreamSerialiser::peekNextChunkID");

		size_t homePos = mStream->tell();
		uint32 ret;
		read(&ret);
		mStream->seek(homePos);

		return ret;
	}
开发者ID:spetz911,项目名称:ogre3d,代码行数:24,代码来源:OgreStreamSerialiser.cpp


示例17: readTemplate

static void
readTemplate(template_t *t, tfile_t *tf)
{
	int magic;

	readScalar(magic, tf);
	assert(magic == TMPL_MAGIC);	/* Already checked by caller */
	readHeader(t, tf);
	readScalar(t->tm_flags, tf);
	t->tm_flags |= TMPL_TF_IMPORTED;
	readScalar(t->tm_alignment, tf);
	readScalar(t->tm_minsize, tf);
	readTemplateRefs(t, tf);
	if (tf->tf_errors) {
		/* Failed to import all structs we ref.  Bail out now. */
		return;
	}
	readAttributes(t, tf);
	if (isRedirectTmpl(t)) {
		readTmplRedirection(t, tf);
	}
	readTmplFormat(t, tf);
}
开发者ID:cmjonze,项目名称:evlog_cvs,代码行数:23,代码来源:serial.c


示例18: writeBlock

/* Write what is in the memPage to the pageNumth block.
 * The value of curPagePos was set to pageNum after writing.
 */
RC
writeBlock (int pageNum, SM_FileHandle *fHandle, SM_PageHandle memPage)
{
	FILE *fp;
	int totalNumPages;
	char *buff;

	if (access(fHandle->fileName, R_OK) < 0) return RC_FILE_NOT_FOUND;

	fp = fopen(fHandle->fileName, "r+");

	buff = (char*)malloc(sizeof(char)*PAGE_SIZE);

	if ((totalNumPages = readHeader(fp)) < 1) return RC_FILE_R_W_ERROR;
	
	//check if pageNum is valid 
	if ((pageNum >= totalNumPages) || (pageNum < 0)) return RC_READ_NON_EXISTING_PAGE;

	//read till the (pageNum - 1)th page
	int i;
	for (i = 0; i < pageNum; i++) {
		fread(buff, sizeof(char)*PAGE_SIZE, 1, fp);
	}
	
	//write memPage to the pageNum
	if (fwrite(memPage, sizeof(char)*PAGE_SIZE, 1, fp) < 1) return RC_WRITE_FAILED;
  // printf("WRITED TO DISK (page-%i): %s\n", pageNum, memPage);

  // printf("#### Writed page (%d) to disk! ####\n", pageNum);

	fHandle->curPagePos = pageNum;

	free(buff);
	fclose(fp);

	return RC_OK;
}
开发者ID:woqer,项目名称:Database-from-Scratch,代码行数:40,代码来源:storage_mgr.c


示例19: ensureCapacity

/* If the file has less than numberOfPages pages, then increase the size to numberOfPages. 
 * The increasing is done by appending (numberOfPages - totalNumPages) empty blocks 
 * at the end of file.
 */
RC
ensureCapacity (int numberOfPages, SM_FileHandle *fHandle)
{
    
    FILE *fp;
    int totalNumPages, i;
    char *buff;
    
    if (access(fHandle->fileName, R_OK) < 0) return RC_FILE_NOT_FOUND;
    
    fp = fopen(fHandle->fileName, "r+");
    
    buff = (char*)malloc(sizeof(char)*PAGE_SIZE);
    
    if ((totalNumPages = readHeader(fp)) < 1) return RC_FILE_R_W_ERROR;
    
    if (numberOfPages > totalNumPages) {
        for (i = 0; i < (numberOfPages - totalNumPages); i++) {
            appendEmptyBlock(fHandle);
        }
    }
    
    // log file info to console
    struct stat fileStat;
    if(stat(fHandle->fileName,&fileStat) < 0)
        return RC_FILE_R_W_ERROR;
    // printf("\n\n**ENSURE LOG**\n");
    // printf("************************************\n");
    // printf("File Name: \t\t%s\n",fHandle->fileName);
    // printf("File Size: \t\t%lld bytes\n",fileStat.st_size);
    // printf("Total # Pages: \t%d\n",fHandle->totalNumPages);
    
    free(buff);
    fclose(fp);

    return RC_OK;
}
开发者ID:woqer,项目名称:Database-from-Scratch,代码行数:41,代码来源:storage_mgr.c


示例20: readHeader

RecordStorage::RecordStorage(int32_t maxRecordSize, char* fileName, int32_t id_msb, int32_t id_lsb, Stream* debugStream) {
	closed = false;
	debug = debugStream;
//	if(debug != NULL)
//	{
//		debug->print("Record Storage: ");
//		debug->println(fileName);
//		debug->print("Record Size: ");
//		debug->println(maxRecordSize);
//	}
	file_name = fileName;
	error_code = 0;
	header = NULL;

//	magic = HEADER_MAGIC_NUMBER;

	if (SD.exists(fileName) ) {
//		if(debug != NULL)
//		{
//			debug->print("Record File Size: ");
//			debug->println(store.size());
//		}
		readHeader();
		if(header->maxRecordSize != maxRecordSize)
		{
			error_code = error_code | ERROR_ROW_SIZE_MISMATCH;
		}
	} else {
		header = (RecordHeader*) calloc(sizeof(RecordHeader), 1);
		header->magicNumber = HEADER_MAGIC_NUMBER;
		header->maxRecordSize = maxRecordSize;
		header->uploaded = 0;
		header->id_lsb = id_lsb;
		header->id_msb = id_msb;
		writeHeader();
	}
}
开发者ID:nigelb,项目名称:WaterQualityMonitor,代码行数:37,代码来源:RecordStorage.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ readIdentifier函数代码示例发布时间:2022-05-30
下一篇:
C++ readFromFile函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap