home *** CD-ROM | disk | FTP | other *** search
/ Sams Teach Yourself C in 21 Days (6th Edition) / STYC216E.ISO / mac / Examples / Day20 / mem.c < prev    next >
C/C++ Source or Header  |  2002-08-11  |  1KB  |  34 lines

  1. /* Demonstrating memset(), memcpy(), and memmove(). */
  2.  
  3. #include <stdio.h>
  4. #include <string.h>
  5.  
  6. char message1[60] = "Four score and seven years ago ...";
  7. char message2[60] = "abcdefghijklmnopqrstuvwxyz";
  8. char temp[60];
  9.  
  10. int main( void )
  11. {
  12.    printf("\nmessage1[] before memset():\t%s", message1);
  13.    memset(message1 + 5, '@', 10);
  14.    printf("\nmessage1[] after memset():\t%s", message1);
  15.  
  16.    strcpy(temp, message2);
  17.    printf("\n\nOriginal message: %s", temp);
  18.    memcpy(temp + 4, temp + 16, 10);
  19.    printf("\nAfter memcpy() without overlap:\t%s", temp);
  20.    strcpy(temp, message2);
  21.    memcpy(temp + 6, temp + 4, 10);
  22.    printf("\nAfter memcpy() with overlap:\t%s", temp);
  23.  
  24.    strcpy(temp, message2);
  25.    printf("\n\nOriginal message: %s", temp);
  26.    memmove(temp + 4, temp + 16, 10);
  27.    printf("\nAfter memmove() without overlap:\t%s", temp);
  28.    strcpy(temp, message2);
  29.    memmove(temp + 6, temp + 4, 10);
  30.    printf("\nAfter memmove() with overlap:\t%s\n", temp);
  31.    return 0;
  32. }
  33.  
  34.