home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / C / DLIBSSRC.ZIP / SUBSTR.C < prev    next >
Encoding:
Text File  |  1987-07-08  |  1.0 KB  |  50 lines

  1. char *substr(dest, source, start, end)
  2. register char *dest;
  3. register char *source;
  4. register int start;
  5. register int end;
  6. /*
  7.  *    Copy characters from <source> to <dest> starting with character
  8.  *    <start> and ending with <end>.  A pointer to <dest>, which will
  9.  *    be '\0' terminated, is returned.
  10.  */
  11. {
  12.     register char *p = dest;
  13.     register int n;
  14.  
  15.     n = strlen(source);
  16.     if(start > n)
  17.         start = n - 1;
  18.     if(end > n)
  19.         end = n - 1;
  20.     source += start;
  21.     while(start++ <= end)
  22.         *p++ = *source++;
  23.     *p = '\0';
  24.     return(dest);
  25. }
  26.  
  27. char *subnstr(dest, source, start, length)
  28. register char *dest;
  29. register char *source;
  30. register int start;
  31. register int length;
  32. /*
  33.  *    Copy <length> characters from <source> to <dest> starting with
  34.  *    character <start>.  A pointer to <dest>, which will be '\0'
  35.  *    terminated, is returned.
  36.  */
  37. {
  38.     register char *p = dest;
  39.     register int n;
  40.  
  41.     n = strlen(source);
  42.     if(start > n)
  43.         start = n - 1;
  44.     source += start;
  45.     while(*source && (length--))
  46.         *p++ = *source++;
  47.     *p = '\0';
  48.     return(dest);
  49. }
  50.