文件读写完后fclose()就内存溢出
linux环境下编译的
#include <stdlib.h>
#include <malloc.h>
typedef struct
{
char *CardCode;
char *Name;
char *Contact;
char *Password;
char AccountType;
double MoneyCount;
}*AccountRecord, AccountInfo;
int AccountInfoWrite(AccountInfo Record)
{
FILE *fp;
char *FileName="12345678.Bq";
fp=fopen(FileName, "w");
if (fp==NULL)
{
printf("文件已新建! \n");
return 1;
}
if (fwrite(&Record, sizeof(AccountInfo), 1, fp) == 1)
{
printf("账户信息写入成功! \n");
fclose(fp);
return 0;
}
else
{
printf("账户信息写入失败! \n");
return 1;
}
}
void read()
{
AccountInfo buffer;
FILE *fp;
fp=fopen("12345678.Bq", "rb");
if (fp==NULL)
{
printf("open file error!\n");
return;
}
fread(&buffer, sizeof(AccountInfo), 1, fp);
fclose(fp);
printf("%s \n", buffer.Name);
}
int main()
{
AccountRecord a = (AccountRecord)malloc(sizeof(AccountRecord));
a->Name = "aassasasa";
a->CardCode = "12345678";
a->Contact = "110";
a->Password = "112233";
a->AccountType = 'a';
a->MoneyCount = 111.00;
AccountInfoWrite(*a);
read();
return 0;
}
...全文
相关推荐
详解C语言中freopen()函数和fclose()函数的用法
"本文详细介绍了C语言中的两个关键文件操作函数:freopen()和fclose(),它们在文件处理中起着至关重要的作用。"C语言的`freopen()`函数是一个非常实用的工具,允许程序员在程序
PHP使用feof()函数读文件的方法
在处理大文件时,为了防止内存溢出,通常推荐使用逐行读取的方式,例如结合 `fgets()` 和 `feof()`。
Matlab文件操作及读txt文件(fopen,fseek,fread,fclose).pdf
Matlab 文件操作及读txt文件(fopen、fseek、fread、fclose) Matlab 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。
C语言文件操作 fopen, fclose, mkdir详解
"C语言文件操作fopen, fclose, mkdir详解"C语言提供了丰富的函数来处理文件操作,包括创建目录、打开和关闭文件等。这里主要介绍`_mkdir`、`fopen`和`fclose`这
C语言读文件
关闭文件: 当完成文件操作后,应使用`fclose()`函数关闭文件,以确保数据正确保存并且释放系统资源: ```c fclose(fp); ```除了这些基本操作,还有其他高级特性,如错误处理、文件定位


