歡迎您光臨本站 註冊首頁

#include
#include
#include
#include
#include
#define BIZ_SIZ 100
#define FPATH "./students"
typedef struct
{char name[10];
int num;
}DATE;
int swrite(int n,DATE p[])
{ int x,i=0;
if (-1==(x=write(n,p,sizeof(DATE)*3)))
{perror("write");
return -1;
}
return x;
}
int sopen(void)
{
int k;
k=open(FPATH,O_RDWR|O_CREAT|O_TRUNC,0666);
if (-1==k)
{
perror("open");
return -1;
}
printf("File creat sucess!:%d\n",k);
return k;


}
int sread(int n)
{ DATE buf;
int m;
lseek(n,SEEK_SET,sizeof(DATE));
if (0==(m=read(n,buf,sizeof(DATE))))
{perror("read");
return -1;
}
printf("%s\n",buf.name);
printf("%d\n",buf.num);


return m;
}
int main(int argc, char *argv[])
{
DATE a[3]={{"xiaomi",9527},{"liaoli",9528},{"siaoer",9529}};
int n;
char buff[BIZ_SIZ]={0};
printf("%d\n",sizeof(DATE));;
printf("%d\n",sizeof(a));
n=sopen();
printf("%d BYTES was write\n",swrite(n,a));
printf("The 2nd struct is:%d\n",sread(n));
}

[火星人 ] 如何將結構體數組寫入一個文件,並讀出第二個,現在read總是出參數不對的錯誤已經有337次圍觀

http://coctec.com/docs/linux/show-post-100493.html