Assuming a file consists of fixed-length logical records, whose type is defined as t_record. The operating system only supports sequential-access to files via the following three system calls. t_record *read_next() // read the next record pointed to by the file pointer, advance the file pointer by one record, // and return a pointer pointing to the record read from the file void write_next(t_record rec) // write the record rec to the location pointed to by the file pointer, // and advance the file pointer by one record void reset() //reset the file pointer to the beginning of the file WRITE code in C (NO syntax error, please!) to implement/define the following two C functions to simulate direct access read and write operations on this operating system that only supports sequential-access to files. (Hint: there is no guarantee on where the file pointer is when any one of the following two functions is called.) t_record *read(int n) // read the n-th record in the file, and return a pointer pointing to the record read void write(int n, t_record rec) // write the record rec to the file as the n-th record Hint t_record*read(int n) { Int i; t_record*p; reset(); for (i=0, I< (n-1);i++){ read_next (); }
please write C code
4, Assuming a file consists of fixed-length logical records, whose type is defined as t_record. The
t_record *read_next() // read the next record pointed to by the file pointer, advance the file pointer by one record,
// and return a pointer pointing to the record read from the file
void write_next(t_record rec) // write the record rec to the location pointed to by the file pointer,
// and advance the file pointer by one record
void reset() //reset the file pointer to the beginning of the file
WRITE code in C (NO syntax error, please!) to implement/define the following two C functions to simulate direct access read and write operations on this operating system that only supports sequential-access to files. (Hint: there is no guarantee on where the file pointer is when any one of the following two functions is called.)
t_record *read(int n) // read the n-th record in the file, and return a pointer pointing to the record read
void write(int n, t_record rec) // write the record rec to the file as the n-th record
Hint
t_record*read(int n)
{
Int i;
t_record*p;
reset();
for (i=0, I< (n-1);i++){
read_next ();
}
Step by step
Solved in 2 steps