a) read both code to figure out what they do. b) supply am appropriate content to the main function in “dictionary.c” to demonstrate that you understand the provided code by invoking those functions defined in “dictionary.c first code /* dict.h header for data dictionary routines. */ #include struct dict_elem{ char d_name[15]; // name of dictionary member int d_start; //starting position in record int d_length; //length of field int d_type; //denotes type of data }; #define ERROR (-1) #define SUCCESS 0 second code #include "dict.h" int writedict(const char *dictname, struct dict_elem *elist){ int j; FILE *outf; if ((outf = fopen(dictname, "w")) == NULL){ return ERROR; } //cculate length of the aray for (j = 0; elist[j].d_length != 0; j++) ; //write out list of dict_elem structures if (fwrite((void*)elist, sizeof(struct dict_elem), j, outf)
a) read both code to figure out what they do.
b) supply am appropriate content to the main function in “dictionary.c” to demonstrate
that you understand the provided code by invoking those functions defined in
“dictionary.c
first code
/* dict.h header for data dictionary routines. */
#include <stdio.h>
struct dict_elem{ char d_name[15]; // name of dictionary member int d_start; //starting position in record
int d_length; //length of field
int d_type; //denotes type of data };
#define ERROR (-1)
#define SUCCESS 0
second code
#include "dict.h"
int writedict(const char *dictname, struct dict_elem *elist){
int j;
FILE *outf;
if ((outf = fopen(dictname, "w")) == NULL){
return ERROR;
} //cculate length of the aray
for (j = 0; elist[j].d_length != 0; j++) ; //write out list of dict_elem structures if (fwrite((void*)elist,
sizeof(struct dict_elem), j, outf)<j){
fclose(outf);
return ERROR; }
fclose(outf);
return SUCCESS; } //************************************************************************** struct dict_elem * readdict(const char *dictname, struct dict_elem *inlist, int maxlength)
{
int i;
FILE *inf;
if ((inf = fopen(dictname, "r")) == NULL){
return NULL; } //read in dict_elem structures from file
for (i = 0; i < maxlength - 1; i++) {
if (fread((void*)&inlist[i],
sizeof(struct dict_elem), 1, inf)<1)
{ break; } }
fclose(inf); //mark end of list
inlist[i].d_length = 0;
return inlist; } // your main function goes here. int main(void) {
// struct dict_elem array[3] ={ {}, {},{} , {} } }
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 2 images