⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isotrxl.cpp

📁 ISO 8583 with c++ for financial transaction standard
💻 CPP
字号:
//
// IT24 Sitemas S.A.
// BitMap String Library
//
//   Libreria de Headers ISO, implementadas como un arreglo de estructuras de tamano
//   fijo de 32 bytes, para optimizar las busquedas e inserciones, mas, mejorar las 
//   referencias a memoria manteniendo la localidad de los datos, relegando otras
//   implementaciones con listas-pilas-colas variables.
//
// Tarea        Fecha           Autor   Observaciones
// (Inicial)    2002.07.16      mdc     Base
//


// Headers propios
#include <qusrinc/alias.h>
#include <qusrinc/typedefs.h>
#include <qusrinc/isotrxls.h>

// Standard I/O memory functions
#include <memory.h>
#include <string.h>


// Clase Lista de BitMapStr
// Constructor por default
ISOTRXLIST::ISOTRXLIST() 
	{
	// Contador a cero
	iCounter = 0;	
	}

// Constructor opcional
ISOTRXLIST::ISOTRXLIST(PSTR pszExtBitmap, INT iLen) 
	{
	// Contador a cero
	iCounter = 0;
	// Chequear longitudes...
	if(iLen >= BITMAP_STR_LEN)
		// Copia interna al final de la lista
		memcpy(strlIsoTrxs[iCounter++].byte, pszExtBitmap, BITMAP_STR_LEN); 
	// e incremento a posteriori del contador
	}

// Destructor
ISOTRXLIST::~ISOTRXLIST() 
	{	
	// Contador a cero
	iCounter = 0;	
	}

// Insercion
BOOL ISOTRXLIST::Insert(PSTR pszExtBitmap, INT iLen) 
	{
	// Chequear longitudes...
	if( (iLen >= BITMAP_STR_LEN) 
		&&
		// y maximo de contador
		(iCounter < MAX_BITMAPS)
		&&
		// y no existe previamente
		(Find(pszExtBitmap, BITMAP_STR_LEN) == FALSE)
		)
		{
		// Copia interna al final de la lista
		memmove( &strlIsoTrxs[iCounter].byte[0], pszExtBitmap, BITMAP_STR_LEN); 
		// e incremento a posteriori del contador
		iCounter++;
		// Ok
		return (TRUE);
		}
	else
		return (FALSE);
	}

// Buscador
BOOL ISOTRXLIST::Find(PSTR pszExtBitmap, INT iLen) 
	{
	// Precondicion
	if( (iCounter == 0) || (iLen < BITMAP_STR_LEN))
		return (FALSE);	

	// Iteracion para la busqueda
	for (INT i = 0; i < iCounter; i++)
			// Es el BitMapString buscado?						
			if ( memcmp(strlIsoTrxs[i].byte, pszExtBitmap, BITMAP_STR_LEN) == 0 )
				// Hallado
				return (TRUE);
	// No hallado
	return (FALSE);
	}

⌨️ 快捷键说明

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