Advertisement
B1KMusic

Unpredictable string mutator

Jul 13th, 2016
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. // I got so carried away with this thing [http://pastebin.com/EJjVBgwT] that I lost track of what is even going on.
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. void modify_buffer(char *buffer){
  6.     int i = 1,
  7.         j = 2,
  8.         k = 57;
  9.     char min = ' ',
  10.          max = 'z',
  11.          range = (max - min) - 1;
  12.  
  13.     while(*buffer){
  14.         *buffer += ++i * strlen(buffer);
  15.         *buffer -= min;
  16.         *buffer += (j * 7) % k;
  17.         *buffer %= range;
  18.         *buffer += min;
  19.         j += strlen(buffer) % 2 == 0 ? 1 : 3;
  20.         k -= k % 3 == 0 ? 1 : 4;
  21.         k += k % 2 == 0 ? 5 : 1;
  22.  
  23.         while(*buffer < min || *buffer > max)
  24.             *buffer += k;
  25.  
  26.         buffer++;
  27.     }
  28. }
  29.  
  30. void parse_args(char **argv, char *buffer){
  31.     while(*argv){
  32.         strncpy(buffer, *argv, 1000);
  33.         modify_buffer(buffer);
  34.         printf("%s ", buffer);
  35.         argv++;
  36.     }
  37.  
  38.     printf("\n");
  39. }
  40.  
  41. int main(int argc, char **argv){
  42.     char buffer[1000] = "ABCDEFG";
  43.  
  44.     if(argv[1]){
  45.         parse_args(argv + 1, buffer);
  46.     } else {
  47.         modify_buffer(buffer);
  48.         printf("%s\n", buffer);
  49.     }
  50.  
  51.     return 0;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement