autoobj.hpp - The class AutoObject is used as a superclass or a mixin class that provides a flag that determines whether the contents of the subclass should be deleted when the object goes out of scope.
NamedObject | AutoObject
This method constructs an AutoObject and sets its' internal destroy flag to the value of the argument 'bAutoDestroy'.
This method is the AutoObject copy constructor. It constructs an AutoObject that is a DEEP copy of its' argument 'rcautobj'.
A constant pointer to the ASCIIZ string "AutoObject"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
This method must be defined in the child class. It deletes the receivers' internal memory pointer and sets that pointer to point to 0, (Preventing a Run Time Error if a second delete attempt is made.) This method is not intended to be called directly, but rather is called by virtual void AutoObject :: destroy (). Nonetheless, this method is made public since it provides an ABSOLUTELY SURE way to destroy the contents of the receiver irregardless of the return value of "Boolean AutoObject :: willDestroy () const"
This VIRTUAL method deletes the receivers' internal memory by calling the receivers' 'deleteMem ()' method. The latter method is a pure virtual method in the class AutoObject and must be defined in the child class. The method virtual void AutoObject :: destroy () checks the return value of the 'AutoObject :: willDestroy ()' to determine if the memory SHOULD be deleted. If that method returns true, the memory is deleted by 'deleteMem ()'.
The value of the argument 'bAutoDestroy'.
This method is the accessor that sets the value of the receivers' internal destroy flag to the value of the argument 'bAutoDestroy'.
The value of the receivers' internal destroy flag.
This method is the accessor that gets the value of the receivers' internal destroy flag. The value of this flag determines whether the contents of the receiver should be deleted when it goes out of scope.
buffile.hpp - The class BuffedFile reads an entire file into memory and then closes the file. Its' purpose is to provide the ability to treat a file as a memory buffer. Thus this class is a little bit like a UNIX memory mapped file. However, unlike a UNIX memory mapped file, once the physical disk file has been read into memory, it is closed, unlocked and is available to other processes.
fstream NamedObject | | FStreamCheck | BuffedFile
This attempts to construct a BuffedFile object by reading the file named in the argument 'cszFileName' into memory.
If any IO error occurs, an FStreamError exception is thrown. If there is not enough memory left on the system to allocate a buffer large enough to hold the contents of the entire file, an IOutOfMemory exception is thrown.
This method attempts to construct a BuffedFile object as a DEEP copy of a pre-existing buffer. Alternatively, by providing just the length, and a buffer argument of 0, a BuffedFile Object will be constructed with a buffer of length 'stBuffLength', whose contents are all 0. This constructor is useful when one wishes to manipulate an area of memory and then write the contents of that area to a disk file.
If any IO error occurs, an FStreamError exception is thrown. If there is not enough memory left on the system to allocate the buffer, an IOutOfMemory exception is thrown.
The address of the receivers' internal memory buffer as pointer to constant char.
This is the accessor for internal memory area encapsulated by this class (the buffer where the contents of the file are stored). This is the preferred means of gaining access that that buffer.
A constant pointer to the ASCIIZ string "BuffedFile"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
A reference to the TemplateArray < char > (typedefined as CharArray) encapsulated by the receiver
This is the PROTECTED accessor for the CharArray object this class uses to manage its' internal memory buffer.
This method writes the contents of the receivers' internal memory buffer to the physical disk file named in the input argument 'cszFileName'.
If any IO error occurs, an FStreamError exception is thrown.
The length in bytes of the receivers' internal memory buffer.
This is the accessor for size in bytes of the internal memory area encapsulated by this class.
The address of the receivers' internal memory buffer as pointer to char.
This method attempts to read the contents of the file named in the input argument 'cszFileName' into the receivers' internal memory buffer. This method will resize the receivers' internal buffer to the length of that file and read the entire contents of that file into the buffer.
If any IO error occurs, an FStreamError exception is thrown.
The new buffer size, i.e. the value of the input argument 'szBuffLength'
This method reallocates the receivers' internal buffer to the size specified in the input argument 'stBuffLength'. This is done via a call to CharArray :: resize ( size_t stBuffLength ).
If there is not enough memory left on the system to allocate the buffer, an IOutOfMemory exception is thrown
templary.hpp - The class CharArray is an instantiated template class used to represent an array of characters. I.e this class is a synonym for TemplateArray < char >, and is defined in "templary.hpp" as typedef TemplateArray < char > CharArray. Please see the reference for the class TemplateArray < T > for more information.
NamedObject | template < class T > class TemplateArray
fstrmchk.hpp - This class is an fstream descendant. The difference between FStreamCheck and fstream is that FStreamCheck checks for errors after its' IO and throws an FStreamError (a descendant of IAccessError) if any IO errors occur.
fstream NamedObject | | FStreamCheck
This attempts to construct an FStreamCheck object using no arguments and a buffer length of 0.
If any IO error occurs, an FStreamError exception is thrown.
This attempts to construct an FStreamCheck object by opening the named file with the given flags and protection mode.
If any IO error occurs, an FStreamError exception is thrown.
This attempts to construct an FStreamCheck object by associating it with the given file descriptor
If any IO error occurs, an FStreamError exception is thrown.
This version constructs an FStreamCheck object that is attached to the file descriptor nFileDesc. If nFileDesc is not open, an FStreamError will be thrown. This constructor also sets up an associated filebuf object with a stream buffer that has nLength bytes and begins at the position pointed to by pcBuffer. If pcBuffer or nLength is 0, the associated filebuf object is unbuffered.
If any IO error occurs, an FStreamError exception is thrown.
This method checks the state of the receiver via a call to ios :: good (). If the stream is not in a good state an FStreamError is thrown. This is the method used to check the IO operations for this class.
If the call to ios :: good returns false, an FStreamError exception is thrown.
A constant pointer to the ASCIIZ string "FStreamCheck"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
This method returns the file name of the file associated with the receiver if the receiver was constructed using a file name argument.
This method returns the file name of the file associated with the receiver if the receiver was constructed using a file name argument.
The size of the file in bytes.
This method returns the size of the file associated with the receiver in bytes. This may not work properly on a binary file opened in text mode, since the two byte carriage return - line feed sequence is translated into a one byte line feed in text mode.
If any IO error occurs, an FStreamError exception is thrown.
This method attempts to open the file 'cszFileName' using the specified mode and protection flags. This method operates identically to fstream :: open, but this class will throw an FStreamError exception if there is an IO error.
If any IO error occurs, an FStreamError exception is thrown.
This method returns a reference to the receiver as an istream.
This method attempts to read 'nLength' bytes from the file associated with the receiver into the buffer 'pcData'. This method operates identically to fstream :: read, but this class will throw an FStreamError if there is an IO error.
If any IO error occurs, an FStreamError exception is thrown.
The new file position
This method attempts to seek the receivers' rdbuffer to the position specified by the argument 'streamoff so'. This method operates identically to 'streambuf :: seekoff' but this class will throw an FStreamError exception if there is an IO error.
If any IO error occurs, an FStreamError exception is thrown.
The new file position
This method attempts to seek the receivers' rdbuffer to the position specified by the argument 'streampos sp'. This method operates identically to 'streambuf :: seekpos' but this class will throw an FStreamError exception if there is an IO error.
If any IO error occurs, an FStreamError exception is thrown.
This method returns new file name as stored by the receiver.
This PROTECTED accessor provides the means of setting the file name associated with the receiver. This method is protected since we do not want to allow the outside world to accidentally mismatch this name and the opened file!
This method returns a reference to the receiver as an ostream.
This method attempts to write 'nLength' bytes from the buffer 'pcscData' to the file associated with the receiver. This method operates identically to fstream :: write, but this class will throw an FStreamError if there is an IO error.
If any IO error occurs, an FStreamError exception is thrown.
enum OpenMode { DEF_IO_MODE = ios :: in | ios :: out , DEF_RD_MODE = ios :: in | ios :: nocreate }
These enums define some ios flags combinations for opening files.
fstrmchk.hpp - This class is a descendant of IAccessError. This Exception Class is used to throw errors related to File IO. It is used extensively by the class FStreamCheck to throw errors related to its' File Operations.
IAccessError NamedObject | | FStreamError
This method constructs an FStreamError object with the given error message and error id.
This is the copy constructor for an FStreamError. This is the constructor the compiler uses when throwing an FStreamError object.
A constant pointer to the ASCIIZ string "FStreamError"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
A constant pointer to the ASCIIZ string "FStreamError"
This method overides the IException name method defined by OCL so that it returns our NamedObject :: className method. I.e. this method overloads IException :: name so that it returns a value identical to NamedObject :: className.
namedobj.hpp - The class NamedObject is a superclass intended to be used as the parent of all C++ classes in our heirarchy. This class sort of corresponds to the Smalltalk class 'Object'. PERHAPS MOST IMPORTANTLY THIS CLASS DEFINES A DO NOTHING VIRTUAL DESTRUCTOR. THIS ASSURES THAT THE DESTRUCTORS OF ALL DESCENDANT CLASSES WILL BE VIRTUAL AS WELL!
NamedObject
The only way to construct a NamedObject is using the default constructor. This class contains no data and therefore requires no constructor.
A constant pointer to the ASCIIZ string "NamedObject"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
TRUE (1) if the receiver and the argument 'rcnamedobj' are of the same type and FALSE (0) otherwise.
This method compares the strings returned by NamedObject :: className () to determine if the receiver and the input argument 'rcnamedobject' are of the same type, and returns TRUE if they are.
This method returns the length of the receivers' class name in bytes.
This method returns the length of the string returned by the receivers 'className ()' method.
ourstrng.hpp - The class OurString is a generic string class is intended to subsitute for the STL or ANSI String classes for compilers that do not support those classes.
NamedObject | template class TemplateArray < char > | OurString
This constructor creates an OurString object that is a DEEP copy of 'cszSource'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This constructor creates an OurString object that is large enough to hold 'stLen' bytes and copys the first 'stLen' bytes from 'ccaSource'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This constructor creates an OurString object that is a DEEP copy of 'cszSource'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
A constant pointer to the ASCIIZ string "OurString"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
This method sets the receivers' ENTIRE memory buffer to 0. NO DESTRUCTORS are called! This method actually just calls void TemplateArray < char > :: clear (). That method is defined as protected in the parent class. This method is defined just to expose it as public in this class, since this it is safe to call void TemplateArray < char > :: clear () when the template is instantiated for char. Please refer to the documentation for void TemplateArray < char > :: clear () for more information.
This returns the length of the string NOT INCLUDING the NULL terminator.
This constant accessor method returns the length of the string encapsulated by the receiver NOT INCLUDING the NULL terminator. This is the number of elements (bytes) occupied - 1.
A reference to the receiver
This initializer initializes an OurString object to be a DEEP copy of the source argument.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
A reference to the receiver
This operator appends the source string to the receiver.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This operator returns true if the contents of the receiver and the argument are identical, false otherwise.
This equality operator compares the source argument to the receiver.
This operator returns true if the contents of the receiver and the argument are not identical, false otherwise.
This inequality operator compares the source argument to the receiver. Note that if both arguments are NULL strings, they are considered identical.
This operator returns true if the contents of the receiver is LESS THAN OR EQUAL TO those of the source argument, false otherwise.
This comparison operator compares the source argument to the receiver using the host machines character sort order. Note that this operator considers a NULL string [(char *) 0] to be the lowest in the sort order on ALL machines.
This operator returns true if the contents of the receiver is GREATER THAN OR EQUAL TO those of the source argument, false otherwise.
This comparison operator compares the source argument to the receiver using the host machines character sort order. Note that this operator considers a NULL string [(char *) 0] to be the lowest in the sort order on ALL machines.
This operator returns true if the contents of the receiver is LESS THAN that of the source argument, false otherwise.
This comparison operator compares the source argument to the receiver using the host machines character sort order. Note that this operator considers a NULL string [(char *) 0] to be the lowest in the sort order on ALL machines.
This operator returns true if the contents of the receiver is GREATER THAN that of the source argument, false otherwise.
This comparison operator compares the source argument to the receiver using the host machines character sort order. Note that this operator considers a NULL string [(char *) 0] to be the lowest in the sort order on ALL machines.
An OurString object that contains the primary and secondary argument strings concatenated together.
This utility operator creates a new OurString object that contains the primary and secondary argument strings concatenated together. I.e. "Hello " + World" will return "Hello World". Note that this is a UTILITY operator. It is not a STATIC operator. I.e. This operator does not need to be associated with any class.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
templary.hpp - The class TemplateArray is a template class used to represent an array. This array will automatically be deleted when it goes out of scope unless it has been told otherwise via a call to " Boolean setDestroy ( Boolean bAutoDestroy = true )".
NamedObject | template < class T > class TemplateArray
This constructor creates a TemplateArray < T > object large enough to hold 'stNumElements'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This constructor creates a TemplateArray < T > object large enough to hold 'stNumElements', of type < T > and copies the first 'stNumElements' into that array. In otherwords this constructor creates an array of 'stNumElements' as a DEEP copy of the argument 'pctSrcArray'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This constructor creates an TemplateArray object that is a DEEP copy of 'cszSource'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This constructor creates an TemplateArray object that is a DEEP copy of 'cszSource'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
A constant pointer to the ASCIIZ string "TemplateArray"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
This method deletes the receivers' ENTIRE memory array and sets the internal buffer to point to 0, (Preventing a Run Time Error if it is called twice.) Note that the memory is deleted irregardless of the status returned by " Boolean AutoObject :: willDestroy () const". To delete the contents of the receiver conditionally on the return value of that method, call "virtual void AutoObject :: destroy ()".
The address of the array encapsulated by the receiver as a pointer to T.
This is the accessor method for the address of the array encapsulated by the receiver.
The address of the array encapsulated by the receiver as a pointer to void.
This is the accessor method for the address of the array encapsulated by the receiver as a generic void pointer.
This initializer initializes a TemplateArray object large enough to hold 'stNumElements', and copies the first 'stNumElements' into that array. In otherwords this initializer creates an array of 'stNumElements' as a DEEP copy of the argument 'pctSrcArray'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This is the const TemplateArray copy initializer. It initializes the receiver to be a DEEP copy of the argument 'rctemplarray'.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This method returns the number of elements that the receiver holds.
This method is the CONSTANT accessor for the number of elements in the array encapsulated by the receiver.
This method reallocates a TemplateArray object so that it holds 'stNumElements', and copies the first 'stNumElements' into that array. If the original array is smaller than the argument 'stNumElements', then only the smaller number of elements will be copied. Finally the old array is deleted IRREGARDLESS of the status returned by " Boolean AutoObject :: willDestroy () const". Please note that the element type must have an '=' operator defined in order to use this method.
If the attempt to allocate memory fails, an IOutOfMemory exception will be thrown.
This method is the CONSTANT accessor for the number of elements in the array encapsulated by the receiver.This operator returns the address of the array encapsulated by the receiver as a pointer to T.
This operator is the conversion operator for the address of the array encapsulated by the receiver. This operator converts the receiver to a pointer to < T >.
This operator returns the address of the array encapsulated by the receiver as a pointer to T.
This operator is the accessor operator for a TemplateArray as an indexed array. I.e. if one declares an object as TemplateArray < char > chararray ( 10 ), then charrarray [0] returns the first element in that array.
This PROTECTED method sets the receivers' ENTIRE memory buffer to 0. NO DESTRUCTORS are called. This is a very dangerous method and can really screw things up! This method is really intended to be used when the template is instantiated for a "C" type, (char, int, struct, etc.). Since the destructor is not called for type T, only use this method for types that have no destructor. This method is defined as virtual so that you may override it to do nothing when this template is instantiated for a type that DOES have a destructor defined.
This method returns the value of the argument 'pctSrcArray'.
This PROTECTED accessor initializes a TemplateArray object to point to 'ptSrcArray'. This is a shallow copy, since the receivers' internal pointer is simply set to 'ptSrcArray'. This method should be used with care and is really only intended for use by the constructors or initializers.
This method returns the value of the argument 'stNumElems'.
This PROTECTED accessor initializes the number of elements returned by the receivers' "size_t TemplateArray :: numElems() const" method. This method should be used with care and is really only intended for use by the constructors or initializers.
templptr.hpp - The class TemplatePointer is a template class used to represent a pointer. This pointer will automatically be deleted when it goes out of scope unless it has been told otherwise via a call to " Boolean setDestroy ( Boolean bAutoDestroy = true )".
NamedObject | template < class T > class TemplatePointer
This constructor creates a TemplatePointer < T > object that encapsulates the input argument pointer 'ptInit'. Once this constructor has been called, 'ptInit' will automatically be deleted when the object being constructed goes out of scope.
A constant pointer to the ASCIIZ string "TemplatePointer"
This VIRTUAL constant method always returns the class name of the receiver. This may be used to implement a primitive Run Time Type Identification, (RTTI), or anything else you like. Note that this IS a virtual function, and will early bind in the constructors and destructor. Thus you can also use this method to determine in which constructor level you are, although I don't know why you would want to know that!
This method deletes the receivers' pointer and sets the internal buffer to point to 0, (Preventing a Run Time Error if it is called twice.) Note that the memory is deleted irregardless of the status returned by " Boolean AutoObject :: willDestroy () const". To delete the contents of the receiver conditionally on the return value of that method, call "virtual void AutoObject :: destroy ()".
The pointer encapsulated by the receiver.
This is the accessor method for the pointer encapsulated by the receiver.
This is the mutator that sets the receivers internal pointer. The old pointer is deleted and set to the new address.
This operator returns the address encapsulated by the receiver as a pointer to T.
This operator is the conversion operator for the pointer encapsulated by the receiver. This operator converts the receiver to a pointer to < T >.
This operator returns a reference to the object encapsulated by the receiver as a reference to T.
This operator is the conversion operator for the pointer encapsulated by the receiver. This operator converts the receiver to a reference to < T >.
The address of the string argument 'szFullName'. If the argument 'szFullName' is 0, or the argument cszFileName is blank or 0, 0 will be returned.
This function concatenates its' arguments 'cszPath' and 'cszFileName' and copies the result to the address pointed to by the argument 'szFullPath'. If there is no path separator (defined as DIR_SEPARATOR in "ospath.h") either at the end of 'cszPath' OR at the beginning of 'cszFileName' one will be inserted between them during the concatenation.
The address of the string argument 'szFilePath'. If the argument 'szFilePath' is blank or 0, or the argument 'cszNewExt' is blank or 0, 0 will be returned.
This either appends the argument 'cszNewExt' to the argument 'szFileName' or replaces the file extension on 'szFileName' with 'cszNewExt'. The string 'szFileName' is reverse searched for a '.' character. If none is found, then cszFileName is simply appended to 'szFileName'. If one IS found, it is assumed to be the extension separator and 'cszNewExt' is copied into 'szFileName' at that point. In any case, one and only one '.' character will be placed between 'szFileName' and 'cszNewExtension'. This means that one can supply a string for the argument 'cszNewExt' with OR without a '.' character, and the result will be identical, e.g. any combination of the following
An unsigned integer that is the number of occurences of 'c' in the first 'stLen' bytes of 'pccSrch'. If c cannot be found, 0 is returned.
This searches an area of memory (pccSrch) for the ALL occurences of the character c. This function returns the number of occurences of 'c' in 'pccSrch'.
TRUE (1) if all of the bytes in the memory area are whitespace, or if the stLen argument is 0. FALSE (0) otherwise.
This function checks an area of memory beginning at 'pcTest' and extending for 'stLen' bytes to see if that area is all white space.
If the stLen argument is 0, TRUE is returned.
A pointer to the LAST occurence of c in pvSrch, if c cannot be found, NULL (0) is returned.
This searches an area of memory (pvSrch) for the LAST occurence of the character c. This function is analogous to memchr in the same manner in which strrchr is analogous to strchr.
'szDest', the address of the DESTINATION memory in all cases.
This function copies the string 'cszSrc' into the location 'szDest', up to a total of 'stLen' bytes, and padding any extra bytes up to 'stLen' bytes, much like the standard C library strncpy. However, this function lets one specify the fill character by the argument 'c'.
Unlike strncpy, this function will NOT NULL terminate the destination string, unless the fill character is specified to be '\0'.
An unsigned integer that is the number of occurences of 'c' in 'pccSrch'.
This searches an ASCIIZ string (pccSrch) for the ALL occurences of the character c. This function returns the number of occurences of 'c' in 'pccSrch'.
TRUE (1) if all of the bytes in the string are whitespace.
FALSE (0) otherwise.This function checks the constant ASCIIZ string pointed to by 'cszTest' to see if that string is all white space.
If the strings' length is 0, TRUE is returned.
TRUE (1) if the string doesn't point to NULL and AT LEAST the first character is not '\0'. I.e. the string length is at least 1 FALSE (0) Otherwise
This function checks a constant ASCIIZ string to make sure that it is non-NULL AND that it has a length > 0.
The length of the string 'csz' if this string is not null not NULL and of length > 0, 0 Otherwise
This function returns the length of the ASCIIZ string supplied in the argument 'csz'. The purpose of this function is to return the length of a string portably and robustly handling NULL pointers and const strings. Most compiler implementations of the 'C' library function 'strlen' have problems when they are passed NULL pointer, this method does not!
The address the argument string IF this string is not NULL and of length > 0, 0 Otherwise
This function finds the first non whitespace character in a string and then copies from that point to the beginning of the string. In other words this function trims all whitespace from the beginning (left side) of a string.
The NEW address the argument string '* ppcDest' in ALL cases. This may be 0 if 'cszrc' is 0 or if the system cannot allocate enough memory.
This function frees the memory pointed to by 'ppcDest', allocates enough memory to hold a string of length 'cszSrc', sets 'ppcDest' to point to that memory, then strcpys 'szSrc' to 'ppcDest'. I.e. this function operates just like the 'C' library function 'realloc', but additionally does a string copy.
This function calls "free ( ppcDest ) ;", It will go totally haywire if 'ppcDest' is not 0 or pointing to a malloced area of memory!
The address the argument string IF this string is not NULL and of length > 0, 0 Otherwise
This function finds the LAST non whitespace character in a string and then truncates the string at point. In other words this function trims all whitespace from the end (right side) of a string.
A pointer to the input argument 'szLine'.
This function strips any trailing '\n' or '\r' characters from the argument string 'szLine'.
'szDest', the address of the DESTINATION string in all cases.
This function copies the string 'cszSrc' into the location 'szDest', up to a total of 'stLen' bytes, and padding any extra bytes up to 'stLen' bytes, JUST like the standard C library strncpy. However, this function will ALWAYS NULL terminate 'szDest' IN ALL CASES at either the length of the SOURCE string or at 'stLen', whichever comes first. I.e. this method guarentees that szDest will be a NULL terminated (ASCIIZ) string upon completion, provided 'szDest' is not NULL.
'szDest', the address of the DESTINATION string in all cases.
This function copies the string 'cszSrc' into the location 'szDest', up to a total of 'stLen' bytes, and padding any extra bytes up to 'stLen' bytes, JUST like the standard C library strncpy. However, this function will ALWAYS NULL terminate 'szDest' IN ALL CASES at either the length of the SOURCE string or at 'stLen', whichever comes first. I.e. this method guarentees that szDest will be a NULL terminated (ASCIIZ) string upon completion, provided 'szDest' is not NULL. In addition this function allows you to specify the fill character.
'sz', the address of the argument string in all cases.
This function converts all of the characters in 'sz' to lowercase, and will not cause an error if 'sz' is NULL.
'sz', the address of the argument string in all cases.
This function converts all of the characters in 'sz' to uppercase, and will not cause an error if 'sz' is NULL.