问下呢,结构体数组里有数组成员怎么写入文件呢,C语言
发布网友
发布时间:2023-09-20 10:31
我来回答
共3个回答
热心网友
时间:2023-09-24 02:57
具体如下
#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);
}//输出文件信息
}
热心网友
时间:2023-09-24 02:58
我定义了一个结构体数组``从键盘输入数据```
怎么才能把输入的数据写入一个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
热心网友
时间:2023-09-24 02:58
直接按结构大小写进去
使用fwrite这个函数