Implement a function writeEmpToFile that takes two arguments: a struct Employee pointer and a FILE *.
Implement a function writeEmpToFile that takes two arguments: a struct Employee pointer and a FILE *.
It should write each field in order as an appropriate type. Note that you will probably want to write a length of the name before you write the characters of the name. By doing this, when you write the load function below, you can read the length of the string and use it to malloc a buffer of the proper size to hold the name.
Because of the embedded name pointer, you CAN NOT write the Employee struct as a single struct. You will need to write it out field by field. You will want to write this as a binary file, not as a text file.
Implement a SAVE command in your main loop that will save all the employees out to a file. The SAVE command should ask for a file name, similar to the way your FIND command asked for a name.
Below is the work I have done so far that is required from the image but I have not been able to finish it and I need assistance with making the final changes that I have missed from the image that I have provided If you want to see the full code that this chunk of code is supposed to function with it is in the link below
void writeEmpToFile(Employee *emp, FILE *f) {
fwrite(&emp->salary, sizeof(emp->salary), 1, f);
fwrite(&emp->yearBorn, sizeof(emp->yearBorn), 1, f);
fwrite(emp->ssn, sizeof(char), SSN_SIZE, f);
int len = strlen(emp->name) + 1;
fwrite(&len, sizeof(int), 1, f);
fwrite(emp->name, sizeof(char), len, f);
}
https://onlinegdb.com/nWSAIx8hCn
Trending now
This is a popular solution!
Step by step
Solved in 3 steps with 1 images