我需要使结构中的数据持久化,即想将其存储在一个文件中,并且需要逐个字符地读取该数据...为此,我编写了以下代码...以下代码无法正常工作将结构写入文件(逐个字符)...我需要逐个字符
struct x *x1=(struct x*)malloc(sizeof(struct x));
x1->y=29;
x1->c='A';
char *x2=(char *)malloc(sizeof(struct x));
char *s=(char *)malloc(sizeof(struct x));
for(i=0;i<sizeof(struct x);i++)
{
*(x2+i)=*((char *)x1+i);
}
fd=open("rohit",O_RDWR);
num1=write(fd,x2,sizeof(struct x));
num2=read(fd,s,sizeof(struct x));
for(i=0;i<sizeof(struct x);i++)
printf(" %d ",*(s+i));
我可以使用 fread & fwrite ......但我想逐个字符地做那个......所以我正在使用 read & write(它们是直接系统调用 rite)......我无法写入它我的写入功能是显示错误,即它返回-1...上面的代码有什么问题吗...