#include "common.h"
#include <string.h>
struct buffer
{
int no;
char name[20];
};
int main()
{
struct buffer buf;
struct buffer read_buf;
int fd;
if((fd = open("read_write.txt",O_CREAT|O_RDWR,S_IRUSR|S_IWUSR)) < 0)
{
PRINT_ERROR(errorbuf);
}
buf.no = 10;
strcpy(buf.name,"nitin");
if(write(fd, &buf, sizeof(struct buffer)) < 0)
{
PRINT_ERROR(errorbuf);
}
printf("Written successfully\n");
/* Add code here to read the content of the structure into 'read_buf' */
exit(0);
}
common.h
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
char errorbuf[20];
#define PRINT_ERROR(errorbuf) \
do \
{ \
sprintf(errorbuf,"%s:%d",__FILE__,__LINE__); \
perror(errorbuf); \
exit(-1); \
}while(0);
Я записал структуру в файл. Но я запутался в том, как извлечь каждый элемент структуры, записанный ранее, в объект read_buf. Пожалуйста, скажите мне, как это сделать.
Спасибо