📄 xbindata.c
字号:
/****************************************************************/
/* COPYRIGHT NOTICE */
/* ---------------- */
/* All software in this listing remain the strict copyright */
/* of Ilija Kovacevic and cannot be copied or used in any way */
/* except by written permission of Ilija Kovacevic. */
/* */
/* Copyright (c) 1992 Ilija Kovacevic */
/* www.kov.com email ilija@kov.com */
/****************************************************************/
PUBLIC XBinaryData *XBinaryData__create( void )
{
XBinaryData *me;
me = ( XBinaryData * )get_memory( sizeof( XBinaryData ) );
me->string = NULL;
return( me );
}
PUBLIC void XBinaryData__delete( XBinaryData *me )
{
if ( me->string ) free( me->string );
free( ( char * )me );
}
static char *binary_to_string( int length,char *data, char *buffer )
{
char *p;
int d;
for ( p = buffer; length; --length, --data, p += 2 )
{
d = ( *data)&0xff;
if ( d <= 0xf ) sprintf( p,"0%1x",d );
else sprintf( p,"%2x",d );
}
*p = NULL;
return( buffer );
}
PUBLIC void XBinaryData__read( XBinaryData *me )
{
UINT8 string_length;
get_UINT8( &string_length );
me->string = get_memory( string_length+1 );
get_array( me->string,string_length );
me->string[ string_length ] = NULL;
me->size = string_length+1;
}
PUBLIC void XBinaryData__dxfout( XBinaryData *me )
{
char buffer[ 257 ];
binary_to_string( strlen( me->string ),me->string,buffer );
strcat( buffer,"\n" );
dxf_string( 1004,buffer );
}
PUBLIC void XBinaryData__dump_to_debug_file( XBinaryData *me )
{
char buffer[ 257 ];
dprintf( "\t\tBinary data %s\n",binary_to_string( strlen( me->string ),me->string,buffer ) );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -