diff options
| author | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
|---|---|---|
| committer | Sven Eisenhauer <sven@sven-eisenhauer.net> | 2023-11-10 15:11:48 +0100 |
| commit | 33613a85afc4b1481367fbe92a17ee59c240250b (patch) | |
| tree | 670b842326116b376b505ec2263878912fca97e2 /Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c | |
| download | Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.gz Studium-33613a85afc4b1481367fbe92a17ee59c240250b.tar.bz2 | |
Diffstat (limited to 'Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c')
| -rw-r--r-- | Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c b/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c new file mode 100644 index 0000000..de673e0 --- /dev/null +++ b/Bachelor/Verteilte Systeme/Praktikum2/loesung_neu/phonebook_server.c @@ -0,0 +1,84 @@ +/* + * This is sample code generated by rpcgen. + * These are only templates and you can use them + * as a guideline for developing your own functions. + */ + +#include "phonebook.h" +#include <stdio.h> +#include <string.h> + +//phonebookEntry myphonebook[50]; +//int i=0; + +int * +add_1_svc(phonebookEntry *argp, struct svc_req *rqstp) +{ + static int result; + + /* + * insert server code here + */ + FILE* fp; + fp=fopen("phonebook.dat","a+"); + /*strcat(myphonebook[i].name,argp->name); + strcat(myphonebook[i].name,"\0"); + strcat(myphonebook[i].number,argp->number); + strcat(myphonebook[i].number,"\0");*/ + fprintf(fp,"%s;%s\n",argp->name,argp->number); + printf("%s;%s\n",argp->name,argp->number); + //printf("Added: %s %s\n",myphonebook[i].name,myphonebook[i].number); + //i++; + fclose(fp); + return &result; +} + +str_number * +search_1_svc(str_name *argp, struct svc_req *rqstp) +{ + static str_number result; + static str_name aktName; + static str_number aktNumber; + char temp[80]; + int n=0; + /* + * insert server code here + */ + strcat(result.number,"-1"); + printf("search string: %s\n",argp->name); + /*for (n=0;n<i;n++) + { + printf("actual entry: %s\n",myphonebook[n].name); + if (strcmp(argp->name,myphonebook[n].name) == 0) + { + strcpy(result.number,myphonebook[n].number); + break; + } + }*/ + FILE *fp; + fp=fopen("phonebook.dat","r"); + while(!feof(fp)) + { + strcpy(temp,"\0"); + strcpy(aktName.name,"\0"); + strcpy(aktNumber.number,"\0"); + fscanf(fp,"%s",&temp); + printf("Read from file: %s ",temp); + strcat(aktName.name,strtok(temp,";")); + strcat(aktName.name,"\0"); + strcat(aktNumber.number,strtok(NULL,";")); + strcat(aktNumber.number,"\0"); + //printf("actual entry: %s\n",myphonebook[n].name); + printf("actual entry: %s %s\n",aktName.name,aktNumber.number); + if(strcmp(aktName.name,argp->name) == 0) + { + strcpy(result.number,aktNumber.number); + fclose(fp); + return &result; + } + } + strcpy(result.number,"-1"); + fclose(fp); + + return &result; +} |
