Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.06 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include "my_string.h"
  4.  
  5. struct my_string
  6. {
  7.     int size;
  8.     int capacity;
  9.     char* data;
  10. };
  11.  
  12. typedef struct my_string My_string;
  13. int main(int argc, char* argv[])
  14. {
  15.     MY_STRING arrayOfMyStrings[100];
  16.     for (int i = 0; i < 100; i++)
  17.     {
  18.       arrayOfMyStrings[i] = NULL;//my_string_init_default();
  19.     }
  20.    
  21.     arrayOfMyStrings[0] = my_string_init_c_string("COPY ME!");
  22.     arrayOfMyStrings[1] = my_string_init_c_string("===========================");
  23.     arrayOfMyStrings[2] = my_string_init_default();
  24.     arrayOfMyStrings[3] = my_string_init_c_string("CO");
  25.     for (int i = 1; i < 100; i++)
  26.     {
  27.         my_string_assignment(&arrayOfMyStrings[i],arrayOfMyStrings[0]);
  28.     }
  29.  
  30.      for (int i = 0; i < 100; i++)
  31.     {
  32.         my_string_insertion(arrayOfMyStrings[i],stdout);
  33.         printf("\n");
  34.         my_string_destroy(&arrayOfMyStrings[i]);
  35.     }
  36.     return 0;
  37. }
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50. void my_string_assignment(Item* pLeft, Item Right)
  51. {
  52.    my_string* pMy_string = (my_string*)*pLeft;
  53.    my_string* rMy_string = (my_string*)Right;
  54.     if(*pLeft == NULL){
  55.       *pLeft = my_string_init_default();
  56.     }
  57.     else{
  58.       while(!my_string_empty(*pLeft))
  59.     my_string_pop_back(*pLeft);
  60.     }
  61.    
  62.     my_string_concat(*pLeft, Right);
  63.       //if(pMy_string->data == NULL)
  64.     /*  {
  65.         *pLeft = my_string_init_c_string(rMy_string->data);
  66.     }
  67.         else
  68.     {
  69.         pMy_string->size = rMy_string->size;
  70.         if(pMy_string->size < pMy_string->capacity)
  71.         {
  72.             for (int e = 0; e < pMy_string->size; e++)
  73.             {
  74.                 pMy_string->data[e] = rMy_string->data[e];
  75.             }
  76.         }
  77.             else
  78.         {
  79.             pMy_string->capacity = pMy_string->size*2;
  80.             free(pMy_string->data);
  81.             pMy_string->data = malloc(sizeof(char)*pMy_string->capacity);
  82.             for(int e = 0; e < pMy_string->capacity-1; e++)
  83.             {
  84.                 pMy_string->data[e] = rMy_string->data[e];
  85.             }
  86.         }
  87.     }*/
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement