#include <stdio.h>
#include <stdlib.h>
#include "string.h"
#define MAXLEN 5
struct str *talloc(void);
struct str *GetList(struct str *q,char *word);
struct str{
char word[6];
struct str *next;
};
int main()
{
struct str *list;
list=NULL;
char word[6];
FILE *file;
file
=fopen("Test.txt","r"); while (fgets(word
,5,file
)){ list=GetList(list,word);
}
prin(list);
return 0;
}
struct str *GetList(struct str *q, char *word){
if (q==NULL){
q = talloc();
q->next=NULL;
return q;
}
q->next=GetList(q->next,word);
return q;
}
struct str *talloc(void){
return (struct str
*)malloc(sizeof(struct str
)); }
void prin(struct str *q){
if(q->next!=NULL);
prin(q->next);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgInN0cmluZy5oIgojZGVmaW5lIE1BWExFTiA1CnN0cnVjdCBzdHIgKnRhbGxvYyh2b2lkKTsKc3RydWN0IHN0ciAqR2V0TGlzdChzdHJ1Y3Qgc3RyICpxLGNoYXIgKndvcmQpOwpzdHJ1Y3Qgc3RyewogICAgY2hhciB3b3JkWzZdOwogICAgc3RydWN0IHN0ciAqbmV4dDsKICAgIH07CmludCBtYWluKCkKewogICAgc3RydWN0IHN0ciAqbGlzdDsKICAgIGxpc3Q9TlVMTDsKCiAgICBjaGFyIHdvcmRbNl07CiAgICBGSUxFICpmaWxlOwogICAgZmlsZT1mb3BlbigiVGVzdC50eHQiLCJyIik7CiAgICB3aGlsZSAoZmdldHMod29yZCw1LGZpbGUpKXsKICAgICAgICBwcmludGYoIiVzIix3b3JkKTsKICAgICAgICBsaXN0PUdldExpc3QobGlzdCx3b3JkKTsKCiAgICB9CiAgICBwcmludGYoIlxuIik7CiAgICBwcmluKGxpc3QpOwogICAgcmV0dXJuIDA7Cn0KCnN0cnVjdCBzdHIgKkdldExpc3Qoc3RydWN0IHN0ciAqcSwgY2hhciAqd29yZCl7CiAgICBpZiAocT09TlVMTCl7CiAgICAgICAgcSA9IHRhbGxvYygpOwogICAgICAgIHEtPm5leHQ9TlVMTDsKICAgICAgICBzdHJjcHkocS0+d29yZCx3b3JkKTsKICAgICAgICByZXR1cm4gcTsKICAgIH0KICAgIHEtPm5leHQ9R2V0TGlzdChxLT5uZXh0LHdvcmQpOwogICAgcmV0dXJuIHE7Cn0KCnN0cnVjdCBzdHIgKnRhbGxvYyh2b2lkKXsKICAgIHJldHVybiAoc3RydWN0IHN0ciAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IHN0cikpOwp9Cgp2b2lkIHByaW4oc3RydWN0IHN0ciAqcSl7CiAgICBwcmludGYoIiVzIixxLT53b3JkKTsKICAgIGlmKHEtPm5leHQhPU5VTEwpOwogICAgICAgIHByaW4ocS0+bmV4dCk7Cn0=