马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Y.H 于 2011-10-4 17:42 编辑
如题:
有一个程序 包含了 main函数 save函数。 在main函数中声明定义了一个结构变量。
而 save函数则不和main函数在同一个文件中。
如main函数所在的文件代码:
main:#include <stdio.h>
#include <stdlib.h>
#define LEN 4
struct student //学生数据.
{
char name[10];
int num;
int age;
char addr[15];
}stud[LEN];
void save (); //把结构中的数据以二进制文件格式写入文件.
void main()
{
int i;
printf ("input name num age addr : \n\n");
for (i = 0; i < LEN; i++)
{
scanf ("%s%d%d%s", stud[i].name, &stud[i].num, &stud[i].age, stud[i].addr);
} //输入4个学生的各个数据.
save(); //调用save函数把数据写入二进制文件.
system("pause");
}
save函数:#include <stdio.h>
#include <stdlib.h>
#define LEN 4
void save() //把结构中的数据以二进制文件格式写入文件.
{
FILE *fp; //声明一个文件结构指针.
int i;
if (!(fp = fopen("student-list", "wb"))) //读写建立一个二进制文件,使fp链接这个文件.
{
fprintf (stderr, "error\n\n");
return;
}
for (i = 0; i < LEN; i++)
{
if (1 != fwrite(&stud[i], sizeof(struct student), 1, fp)) //以数据块的方式写入数据.
{
fprintf (stderr, "error\n\n");
return;
} //循环写入main函数中的结构变量中的数据
}
}
主要的问题就是怎么样把这个程序分两个文件写,并正常运行。
我这里的关键问题就是怎么在save函数中引用stud结构变量.
|