C251 User's Guide

Technical Support

On-Line Manuals

C251 User's Guide

C251 Introduction Compiling Programs Language Extensions Preprocessor Advanced Programming Error Messages Library Reference Library Files Source Code Standard Types jmp_buf va_list Macros CBYTE CVAR CARRAY DARRAY DBYTE DVAR HARRAY HBYTE HVAR NARRAY NBYTE NVAR XARRAY XBYTE XVAR Routines by Category Buffer Manipulation Routines Character Routines Data Conversion Routines Intrinsic Routines Math Routines Memory Allocation Routines Stream I/O Routines String Routines Variable Length Argument Routines Miscellaneous Routines Include Files SFR Definitions absacc.h assert.h ctype.h float.h intrins.h limits.h math.h setjmp.h stdarg.h stddef.h stdio.h stdlib.h string.h Reference _chkdouble_ _chkfloat_ _crol_ _cror_ _getkey _irol_ _iror_ _lrol_ _lror_ _nop_ _testbit_ _tolower _toupper abs acos asin assert atan atan2 atof atoi atol cabs calloc ceil cos cosh exp fabs fcalloc ffree finit_mempool floor fmalloc fmemcpy fmemset frealloc free getchar gets hmemccpy hmemchr hmemcmp hmemcpy hmemmove hmemset hstrcmp hstrcpy hstrlen hstrncpy init_mempool isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit labs log log10 longjmp malloc memccpy memchr memcmp memcpy memmove memset modf offsetof pow printf putchar puts rand realloc scanf setjmp sin sinh sprintf sqrt srand sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strpos strrchr strrpbrk strrpos strspn tan tanh toascii toint tolower toupper ungetchar va_arg va_end va_start vprintf vsprintf xcalloc xfree xinit_mempool xmalloc xmemcpy xmemset xrealloc Appendix

Buffer Manipulation Routines

The buffer manipulation routines are used to work on memory buffers on a character-by-character basis. A buffer is an array of characters like a string, however, a buffer is usually not terminated with a null character ('\0'). For this reason, these routines require a buffer length or count argument.

All of these routines are implemented as functions. Function prototypes are included in the STRING.H include file.

RoutineAttributesDescription
fmemcpyreentrant;Copies a specified number of data bytes from one far memory buffer to another.
fmemsetreentrantInitializes a specified number of data bytes in far memory.
hmemccpyreentrantUses huge pointers and copies data bytes from one buffer to another until a specified character or specified number of characters has been copied.
hmemchrreentrantUses huge pointers and returns a pointer to the first occurrence of a specified character in a buffer.
hmemcmpreentrantUses huge pointers and compares a given number of characters from two different buffers.
hmemcpyreentrantUses huge pointers and copies a specified number of data bytes from one buffer to another.
hmemmovereentrantUses huge pointers and copies a specified number of data bytes from one buffer to another. This routine is typically used when the two buffers may overlap.
hmemsetreentrantUses huge pointers and initializes a specified number of data bytes in a buffer to a specified character value.
memccpyreentrantCopies data bytes from one buffer to another until a specified character or specified number of characters has been copied.
memchrreentrantReturns a pointer to the first occurrence of a specified character in a buffer.
memcmpreentrantCompares a given number of characters from two different buffers.
memcpyreentrantCopies a specified number of data bytes from one buffer to another.
memmovereentrantCopies a specified number of data bytes from one buffer to another. This routine is typically used when the two buffers may overlap.
memsetreentrantInitializes a specified number of data bytes in a buffer to a specified character value.
xmemcpyreentrantCopies a specified number of data bytes from one xdata memory buffer to another.
xmemsetreentrantInitializes a specified number of data bytes in xdata memory.