问下呢,结构体数组里有数组成员怎么写入文件呢,C语言

structstudent{intnumber;/*每个学生的学号*/charname[10];/*每个学生的姓名*/intscore[NUMOFCOURSE];/*每个... struct student
{
int number; /* 每个学生的学号 */
char name[10]; /* 每个学生的姓名 */
int score[NUMOFCOURSE]; /* 每个学生M门功课的成绩 */
float sum; /* 每个学生的总成绩 */
float average; /* 每个学生的平均成绩 */
char sex;//性别
};
展开
 我来答
du瓶邪
推荐于2016-08-02 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:2913万
展开全部
具体如下
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"

struct node
{
int a;
char b[2];
};

main()
{
FILE *p;
char ch;
int i=0,len=sizeof(struct node);
struct node stu[2];
char temp[2];
for(i=0;i<2;i++)
{
printf("information:\n");
gets(temp);
stu[i].a=atoi(temp);
gets(stu[i].b);
}//输入结构体数组
for(i=0;i<2;i++)
{
printf("%d %s\n",stu[i].a,stu[i].b);
}//检查是否输入成功
if(stu[0].a>stu[0].a)
printf("A\n");
else printf("B\n");//判断大小,无关问题
if((p=fopen("d:\\tex.txt","w+"))==NULL)//打开文件
printf("ERROR\n");
else
{
for(i=0;i<2;i++)
{
itoa(stu[i].a, temp, 10); //转为字符写入
fwrite(temp,sizeof(temp),1,p);
fwrite(stu[i].b,sizeof(stu[i].b),1,p);
}
}//将结构体写入文件
fclose(p);

if((p=fopen("d:\\tex.txt","r"))==NULL)
printf("ERROR\n");
else
{
while((ch=fgetc(p))!=EOF)
putchar(ch);

fclose(p);
}//输出文件信息

}
小武swan
2011-05-31
知道答主
回答量:43
采纳率:0%
帮助的人:23.2万
展开全部
我定义了一个结构体数组``从键盘输入数据```

怎么才能把输入的数据写入一个txt 的文件中,麻烦给写的代码每行加上注释````谢谢

#include <stdio.h>
#include <stdlib.h>

struct student
{
char num[20];
char name[20];
char classes[20];
char sex[10];
char chinese[20];
char maths[20];
};

//-----------------------------------

void studentadd() //增加学生
{
int i;
struct student *p0;
p0 = (struct student *)malloc(LEN);
system("cls");
printf("\r\n");
printf("+-----------------------------------------\r\n\n");
printf("请输入学生信息\r\n");
printf("\n请输入学号:");
scanf("%s",&p0->num);
printf("请输入姓名:");
scanf("%s",&p0->name);
printf("请输入班级:");
scanf("%s",&p0->classes);
printf("请输入性别:");
scanf("%s",&p0->sex);
printf("请输入语文成绩:");
scanf("%s",&p0->chinese);
printf("请输入数学成绩:");
scanf("%s",&p0->maths);
printf("\n+ -------------\n");
printf("继续添加 请按 1\n");
printf("保存添加 请按 2\n");
printf("返回菜单 请按 0\n");
printf("+ -------------\n");

scanf("%d",&i);

switch(i)
{
case 0 : menu(); break;
case 1 : save();studentadd(); break;
case 2 : save(); break;
default : printf("\r\n输入错误\r\n\r\n");
}
}问题补充:

我是没写全拉```谁来帮忙写下饿```我就是想把输入的数据写入一个文件中````

最佳答案 你是用链表嘛。
用 fwrite函数
FILE *fp;
fp=fopen(“文件名”,“打开方式”)r:文本文件读出,w文本文件读入;
fwrite(地址,读入数据长度,1,fp)
fread(地址,读出数据长度,1,fp)
直接把首地址键入就行,这是顺序读入读出。
你那个函数指针不全,没法写

参考资料: http://zhidao.baidu.com/question/66490402.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wanfustudio
2011-05-31 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3747万
展开全部
直接按结构大小写进去
使用fwrite这个函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式