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

关于free的施用

2012-12-31 
关于free的使用void writefile(void){FILE *fp stud *buffer bufferwrite_file() if((fpfopen(stude

关于free的使用
void writefile(void)
{
     FILE *fp;
 stud *buffer;
 buffer=write_file();
 if((fp=fopen("student.txt","a+"))==NULL)
 {
 printf("*****文件打开失败!*****\n");
 exit(1);
 }
 else
     {
 printf("*****文件打开成功!可以输入!*****\n");
 fprintf(fp,"%s %s %d %ld %s %s %s\n",buffer->name,buffer->sex,buffer->age,buffer->student_num,buffer->dept,buffer->_class,buffer->grade);  
 //free(buffer);
 }
     fclose(fp); 
}
//这里释放buffer会出错,buffer是有某个函数返回的指针,该函数如下:
stud是自定义结构
stud * write_file (void)
{
stud *buffer;
char name[20];
char sex[5];
int age;
lint num;
char dept[30];
char _class[20];
char grade[2];
scanf("%s %s %d %ld %s %s %s",&name,&sex,&age,&num,&dept,&_class,&grade);
fflush(stdin);
buffer=(stud *)malloc(sizeof(stud));
strcpy(buffer->name,name);
strcpy(buffer->sex,sex);
buffer->age=age;
buffer->student_num=num;
strcpy(buffer->dept,dept);
strcpy(buffer->_class,_class);
strcpy(buffer->grade,grade);
return buffer;
}
烦求各位帮忙看看问题出在哪里了

[解决办法]
贴上完整的代码会比较好。
[解决办法]
把结构体的代码贴上来,有可能是你的内存溢出了!

热点排行