home *** CD-ROM | disk | FTP | other *** search
/ Boldly Go Collection / version40.iso / TS / 17A / DRWIN101.ZIP / DRSTR.HPP < prev    next >
C/C++ Source or Header  |  1991-12-06  |  3KB  |  77 lines

  1. #ifndef __DRSTR_HPP
  2. #define __DRSTR_HPP
  3.  
  4.  
  5. #ifndef HEX0
  6. #define HEX0(x)  (hexadecimal_table[(x) & 0x0F])
  7. #endif
  8.  
  9. #ifndef HEX1
  10. #define HEX1(x)  (hexadecimal_table[((x) >> 4) & 0x0F])
  11. #endif
  12.  
  13.  
  14. extern char hexadecimal_table[];       //0-9, A-F
  15.  
  16. //===========================================================================
  17. //  strNcpy (char*,char*,int)
  18. //  Does a strncpy(), but always inserts the terminator.
  19. //  If destination_length is 0, length-checking is not performed.
  20. //---------------------------------------------------------------------------
  21. void strNcpy(                  //no output
  22.   char* destination,           //destination string
  23.   char* source,                //source string to copy
  24.   int destination_length);     //maximum length of destination, with nul
  25.  
  26.  
  27. //===========================================================================
  28. //  strcchr (char*,char*)
  29. //  Converts a c-style (\-notation) string into a single character.  Only
  30. //  one destination character is produced, but multiple source characters
  31. //  may be used to generate it.
  32. //  Returns a pointer to the next character in the source string.
  33. //---------------------------------------------------------------------------
  34. char* strcchr(                 //next character to be converted
  35.   char* d,                     //destination string
  36.   char* s);                    //source string
  37.  
  38.  
  39. //===========================================================================
  40. //  strcstr (char*,char*,int)
  41. //  Converts a c-style (\-notation) source string into a binary destination
  42. //  string.
  43. //  Returns the number of characters in the destination string.
  44. //  If maxn is 0, length-checking is not performed on the destination.
  45. //  A terminator is placed in the destination string.
  46. //---------------------------------------------------------------------------
  47. int strcstr(                   //number of characters in destination string
  48.   char *d,                     //destination string
  49.   char *s,                     //source c-style string
  50.   int maxn);                   //max length of destination, including nul
  51.  
  52.  
  53. //===========================================================================
  54. //  chrtocstr (char*,int)
  55. //  Converts a binary character into a c-style (\-notation) string.
  56. //  The destination string should be able to hold at least 5 characters.
  57. //  The terminator (nul) is placed on the destination string.
  58. //---------------------------------------------------------------------------
  59. int  chrtocstr(                //number of characters in result string
  60.   char* destination,           //destination string space
  61.   char character);             //character to be converted
  62.  
  63.  
  64. //===========================================================================
  65. //  strtocstr (char*,int,char*,int)
  66. //  Converts a string from binary character data into c-style \-notation.
  67. //  If destination_length is 0, length-checking is not performed.
  68. //---------------------------------------------------------------------------
  69. int  strtocstr(                //number of source characters converted
  70.   char* destination,           //destination string space
  71.   int destination_length,      //maximum length allowed including terminator
  72.   char* source,                //source string for the conversion
  73.   int source_length);          //number of characters to convert from source
  74.  
  75.  
  76. #endif
  77.