问下呢,结构体数组里有数组成员怎么写入文件呢,C语言
structstudent{intnumber;/*每个学生的学号*/charname[10];/*每个学生的姓名*/intscore[NUMOFCOURSE];/*每个...
struct student
{
int number; /* 每个学生的学号 */
char name[10]; /* 每个学生的姓名 */
int score[NUMOFCOURSE]; /* 每个学生M门功课的成绩 */
float sum; /* 每个学生的总成绩 */
float average; /* 每个学生的平均成绩 */
char sex;//性别
}; 展开
{
int number; /* 每个学生的学号 */
char name[10]; /* 每个学生的姓名 */
int score[NUMOFCOURSE]; /* 每个学生M门功课的成绩 */
float sum; /* 每个学生的总成绩 */
float average; /* 每个学生的平均成绩 */
char sex;//性别
}; 展开
3个回答
展开全部
具体如下
#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);
}//输出文件信息
}
#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);
}//输出文件信息
}
展开全部
我定义了一个结构体数组``从键盘输入数据```
怎么才能把输入的数据写入一个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)
直接把首地址键入就行,这是顺序读入读出。
你那个函数指针不全,没法写
怎么才能把输入的数据写入一个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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接按结构大小写进去
使用fwrite这个函数
使用fwrite这个函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询