首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

为何存入txt文件什么内容也没有

2013-07-16 
为什么存入txt文件什么内容也没有?#includestdio.h#includestdlib.h#includestring.h#define N 20st

为什么存入txt文件什么内容也没有?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define N 20

struct Student//定义一个通讯录结构体
{
char name[30];//学生姓名
char sex[10];//学生性别
int phone[20];//学生联系电话
int age[5];//学生年龄
char add[30];//学生地址
}stu[N];//定义学生的结构体变量为stu

//***********************************************
//录入信息
//***********************************************
void luru()
{
FILE *fp;
int i;
//输入学生的数据,存放在数组stu中
printf("请输入学生姓名:");
scanf("%s",stu[N].name);
printf("请输入学生性别:");
scanf("%s",stu[N].sex);
    printf("请输入学生电话:");
scanf("%d",stu[N].phone);
printf("请输入学生年龄:");
scanf("%d",stu[N].age);
printf("请输入学生地址:");
scanf("%s",stu[N].add);

//把数据转存到磁盘文件中

    if((fp=fopen("通讯录.txt","a+"))==NULL)
{
printf("cannot open file\n");
exit(0);
}
for(i=0;i<N;i++)
{
if(fwrite(&stu[i],sizeof(struct Student),1,fp)!=1)
printf("file write error\n");
}
fclose(fp);
文件?结构体?指针
[解决办法]

引用:
写入的时候数组越界了

for(i=0;i<N;i++){
   printf("请输入学生姓名:");
   scanf("%s",stu[i].name);
   printf("请输入学生性别:");
   scanf("%s",stu[i].sex);
   printf("请输入学生电话:");
   scanf("%d",stu[i].phone);
   printf("请输入学生年龄:");
   scanf("%d",stu[i].age);
   printf("请输入学生地址:");
   scanf("%s",stu[i].add);
}

用scanf语句输入时要注意格式,除%s外都要加上取地址符&

热点排行