标准IO问题
程序实现写入三个数据到文件,并读取数据显示到终端。
程序部分:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define NUM 3
struct test
{
char name;
int size;
}wr;
struct test re,second;
void set_test(struct test *pts, const char *ptr)
{
strcpy(pts->name, ptr);
pts->size = strlen(ptr);
}
int main(void)
{
FILE *fp;
int i;
set_test(&wr, "Linux");
set_test(&wr, "FreeBSD");
set_test(&wr, "windows");
fp = fopen("test.dat", "w");
fwrite(wr, sizeof(struct test), NUM, fp);
fclose(fp);
fp = fopen("test.dat", "r");
fread(re, sizeof(struct test), NUM, fp);
fseek(fp,-2*sizeof(struct test),SEEK_END);
fread(&second,sizeof(struct test),1,fp);
fclose(fp);
for(i = 0; i < NUM; i++)
{
printf("name[%d]=%-20s, size[%d]=%d\n",
i, re.name, i, re.size);
}
printf("Second name=%-20s, size=%d\n",second.name,second.size);
return 0;
}
红字部分何解,,新手求助;
struct test re,second;首先,不知道是不是你写多了个逗号或者是真的有这个逗号,假设没有这个逗号,那么就是定义结构体re【NUM】 再用 re【NUM】定义变量second。 能力有限,如果理解有错,还请多多指点。
页:
[1]