Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 20th, 2010 | Syntax: C | Size: 2.08 KB | Hits: 91 | Expires: Never
Copy text to clipboard
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #define max 256
  5.  
  6.  
  7. typedef struct list {
  8.         char name[max];
  9.         struct list *CONT;
  10. }list;
  11.  
  12.  
  13.        
  14. void add(char *buffer, list *HEAD) {
  15.        
  16.        
  17.         if(HEAD->name == NULL) {
  18.                
  19.                
  20.        
  21.                 HEAD = (struct list*)malloc(sizeof(list));
  22.                
  23.                 if(sizeof(HEAD) == NULL) {
  24.                         printf("Error while allocating space");
  25.                         return;
  26.                 }
  27.                 else {
  28.                         strcpy(HEAD->name, buffer);
  29.                         HEAD->CONT = NULL;
  30.                
  31.                         printf("Test");
  32.                                                
  33.                 }
  34.        
  35.         }
  36.        
  37.        
  38.         else {
  39.                 printf("OK");
  40.                 struct list *NEXT = NULL;
  41.                 struct list *TMP = NULL;
  42.                 TMP = HEAD;
  43.                 while(TMP->CONT != NULL) TMP = TMP->CONT;
  44.                 NEXT = (struct list*)malloc(sizeof(list));
  45.                 if(sizeof(NEXT) == NULL) {
  46.                         printf("Error while allocating space");
  47.                         return;
  48.                 }
  49.                 else {
  50.                         strcpy(NEXT->name, buffer);
  51.                         TMP->CONT = NEXT;
  52.                         TMP->CONT->CONT = NULL;
  53.                         TMP = TMP->CONT;
  54.                         free(NEXT);
  55.                        
  56.                 }
  57.                        
  58.                
  59.         }
  60.         return;
  61. }
  62.  
  63. void print(list *HEAD) {
  64.         struct list *TMP = NULL;
  65.         TMP = HEAD;
  66.         while(TMP->CONT != NULL) {
  67.                 printf("%s", TMP->name);
  68.                 TMP = TMP->CONT;
  69.         }
  70.         //printf("%s", HEAD->name);
  71. }
  72.  
  73. /*int cmp(char *regex, char *nametocmp) {
  74.        
  75.         int cmp = 0;
  76.         for(int i=0; i<strlen(nametocmp); i++) {
  77.                 int tmp = 0;
  78.                         for(int j=0; j<strlen(regex); j++) {
  79.                                 if(nametocmp[i] == regex[j]) {
  80.                                         tmp++;
  81.                                 }
  82.                         }
  83.                                 if(tmp>=1) {
  84.                                         cmp++;
  85.                                         }
  86.         }
  87.         if(cmp != strlen(nametocmp)) {
  88.                 return 0;        
  89.         }              
  90.         else return 1;
  91. }
  92. */
  93.  
  94.  
  95. /*int sortitup(list *HEAD) {
  96.        
  97.         struct list *TMP = HEAD;
  98.                 while(tmp->CONT != NULL) {
  99.                         struct list *NEXT = TMP->CONT;
  100.                         int cmp = strcmp(TMP->CONT,NEXT->CONT);
  101.                         if(cmp>0) HEAD = BEGIN;
  102.        
  103.         */
  104.        
  105. int main(int argc, char *argv[]) {
  106.        
  107.         FILE *input = NULL;
  108.         FILE *output = NULL;
  109.         char buffer[max] = "";
  110.         char regex[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
  111.         struct list *HEAD = NULL;
  112.        
  113.         //HEAD = (struct list*)malloc(sizeof(struct list));
  114.        
  115.        
  116.         input=fopen(argv[1], "r");
  117.                 while(!(feof(input))) {
  118.                         fgets(buffer, 256, input);
  119.                         add(buffer, HEAD);
  120.                         }
  121.                
  122.                 fclose(input);
  123.                 //print(HEAD);
  124.                
  125.  
  126.         return 0;
  127.  
  128. }