【跪求】c语言 fwrite 写入 int 问题!!!

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:11:17
#include<stdio.h>
void aaa();
struct student
{
char name[5]; //姓名
int age; //年龄
int num; //学号
char addr[5]; //地址

}stu[4];

void main()
{
int i;

printf("请输入4个学生姓名、年龄、学号、地址,按回车!\n");

for(i=0;i<4;i++)
{
scanf("%s%d%d%s",stu[i].name,&stu[i].age,&stu[i].num,stu[i].addr);

} aaa();

}
void aaa()
{
FILE *fp;
int i;

if((fp=fopen("123.txt","w"))==NULL)
{
printf("无法打开文件!\n");

return;
}

for(i=0;i<4;i++)
{
if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
{
printf("写入错误!\n");
}
}
fclose(fp);
}

运行时输入:
1 1 1 1

#include<stdio.h>
#include<string.h>

void aaa();
struct student
{
char name[5]; //姓名
int age; //年龄
int num; //学号
char addr[5]; //地址

}stu[4];

void main()
{
int i;

printf("请输入4个学生姓名、年龄、学号、地址,按回车!\n");

for(i=0;i<4;i++)
{
scanf("%s%d%d%s",stu[i].name,&stu[i].age,&stu[i].num,stu[i].addr);

}
aaa();

}

#define MAX_BUF 1000
void aaa()
{
FILE *fp;
int i;
char outbuf[MAX_BUF];
char tempbuf[50];

memset(outbuf,0,MAX_BUF);
if((fp=fopen("123.txt","w"))==NULL)
{
printf("无法打开文件!\n");

return;
}

strcpy(outbuf,"姓名 年龄 学号 地址");

for(i=0;i<4;i++)
{
sprintf(tempbuf,"\n%s %d %d %s",stu[i].name,stu[i].age,stu[i].num,stu[i].addr);<