Code:
.
.
.
.
int sel=0;
char buf1[80],buf2[80],buf3[80];
char *ret1;
int val1,val2;
struct mystruct demo,*pdemo;
FILE *myout,*myin;
char inbuf[80],outbuf[80];
.
.
.
.
.
case 8:
{
fprintf(myout,"Enter name of structure: ");
fgets(buf1,80,myin);
if (buf1[strlen(buf1)-1]=='\n') buf1[strlen(buf1)-1]='\0';
fprintf(myout,"Enter structure id (10 chars max): ");
fgets(buf2,80,myin);
if (buf2[strlen(buf2)-1]=='\n') buf2[strlen(buf2)-1]='\0';
fprintf(myout,"Enter structure value (an integer): ");
fgets(buf3,80,myin);
if (buf3[strlen(buf3)-1]=='\n') buf3[strlen(buf3)-1]='\0';
val1=atoi(buf3);
cop_setvals(&demo,strdup(buf1),buf2,val1);
fprintf(myout,"\nName: %s\nId: %s\nValue: %i\n",
demo.name,demo.id,demo.val);
break;
}
case 9:
{
fprintf(myout,"Enter name of structure: ");
fgets(buf1,80,myin);
if (buf1[strlen(buf1)-1]=='\n') buf1[strlen(buf1)-1]='\0';
fprintf(myout,"Enter structure id (10 chars max): ");
fgets(buf2,80,myin);
if (buf2[strlen(buf2)-1]=='\n') buf2[strlen(buf2)-1]='\0';
fprintf(myout,"Enter structure value (an integer): ");
fgets(buf3,80,myin);
if (buf3[strlen(buf3)-1]=='\n') buf3[strlen(buf3)-1]='\0';
val1=atoi(buf3);
pdemo=alloc_mystruct(buf1,buf2,val1);
if (pdemo!=NULL)
{
fprintf(myout,"\nName: %s\nId: %s\nValue: %i\n",
pdemo->name,pdemo->id,pdemo->val);
free_mystruct(pdemo);
}
else fprintf(myout,"\nStructure allocation failed...\n");
break;
}
case 10:
{
pdemo=copy_mystruct(&demo);
if (pdemo!=NULL)
{
fprintf(myout,"\nName: %s\nId: %s\nValue: %i\n",
pdemo->name,pdemo->id,pdemo->val);
free_mystruct(pdemo);
}
else fprintf(myout,"\nStructure allocation failed...\n");
break;
}
.
.
.
.
.
.
.