图书信息管理系统 vs2022 写入文件可以正常读取,但是在txt文件里面是乱码,网上说改为ANSI,但我的是默认这个,而且我预先存入的数据,在我对文件进行操作后也变成了乱码,请问有什么好的解决办法吗
//读取数据
void read_information(struct book_date* L)
{
FILE* f1;
struct book_date* p, * p1;
if ((f1 = fopen("图书数据管理.txt", "rb")) != NULL)
{
p = L;
while (1)
{
p1 = (struct book_date*)malloc(sizeof(struct book_date));
assert(p);
if (p == NULL || p1 == NULL)
{
return;
}
fread(p1, sizeof(struct book), 1, f1);
if (feof(f1))
{
free(p1);
break;
}
p->next = p1;
p = p1;
}
p->next = NULL;
fclose(f1);
}
}
//录入数据
void save_information(struct book_date* L)
{
struct book_date* p;
FILE* fp;
if ((fp = fopen("图书数据管理.txt", "wb")) != NULL)
{
p = L;
while (p->next != NULL)
{
p = p->next;
fwrite(&p->date, sizeof(struct book), 1, fp);
}
fclose(fp);
}
}
二进制操作就该如此, 除非文本操作