Advertisement
Guest User

Пик 3

a guest
Dec 11th, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.32 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. struct Targ {
  6.     char ime[20];
  7.     char st[20];
  8. };
  9. struct Zaqvka {
  10.     char prot[10];
  11.     char host[50];
  12.     char dir[100];
  13.  
  14.     char skr[25];
  15.     struct Targ Marg[10];
  16.     int br;
  17. };
  18. void Arguments(struct Zaqvka *Z, char *str)
  19. {
  20.     int i, j, poz;
  21.     for (i = 0, j = 0; str[i] != ':'; i++, j++)
  22.     {
  23.         Z->prot[j] = str[i];
  24.         Z->prot[j] = 0;
  25.         for (i += 3, j = 0; str[i] != '/'; i++, j++)
  26.         {
  27.             Z->host[j] = str[i];
  28.             Z->host[j] = 0;
  29.         }
  30.         for (i = i + 1, j = 0, poz; str[i] != '?'; i++, j++)
  31.         {
  32.             Z->dir[j] = str[i];
  33.             if (str[i] == '/')
  34.             {
  35.                 poz = j;
  36.             }
  37.         }
  38.         Z->dir[j] = 0;
  39.         for (j = 0, poz += 1; Z->dir[poz]; j++, poz++)
  40.         {
  41.             Z->skr[j] = 0;
  42.             for (Z->br = 0, i += 1; str[i]; Z->br++)
  43.             {
  44.                 for (j = 0; str[i] != '='; i++, j++) {
  45.                     Z->Marg[Z->br].ime[j] = str[i];
  46.                     Z->Marg[Z->br].ime[j] = 0;
  47.                 }
  48.                 for (j = 0, i = i + 1; str[i] != '&'; i++, j++)
  49.                 {
  50.                     Z->Marg[Z->br].st[j] = str[i];
  51.                     Z->Marg[Z->br].st[j] = 0;
  52.                 }
  53.             }
  54.         }
  55.     }
  56. };
  57. int main()
  58. {
  59.     Zaqvka zaq;
  60.     char str[300];
  61.     int i;
  62.     printf("Vavedete validna zaqvka za adress\n");
  63.     for (i = 0; str != '\0'; i++)
  64.     {
  65.         scanf_s("%s", &str[i]);
  66.         Arguments(&zaq, str);
  67.     }
  68.    
  69.     puts(zaq.prot);
  70.     puts(zaq.host);
  71.     puts(zaq.dir);
  72.     puts(zaq.skr);
  73.     puts(zaq.Marg->st);
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement