c语言 - 为什么在编辑器中打开文件时看不到文件中插入的结构记录?



我在处理 C 文件中的结构时遇到问题。在这里,我编写了这个程序以将银行客户记录保存到文件中。它工作正常,但是当我尝试打开数据文件[.txt(或(.dat]时。它显示一些二进制数字。以下是我的计划。

/* Reading bank details and saving it on a file and printing it on 
screen*/
#include <stdio.h>
//Declaring a structure
struct bank_details
 {
  char customer_name[20];
  char cif_no[10];
  int ac_no,pincode;
 };
main()
{
struct bank_details bank;
FILE *file;
file= fopen("bank_file.dat", "w");
printf("Enter A/no:n");
scanf("%d",&bank.ac_no);
printf("Enter customer name:n");
scanf("%s",bank.customer_name);
printf("Enter CIF no:n");
scanf("%s",bank.cif_no);
printf("Enter your PINCODE:n");
scanf("%d",&bank.pincode);
fwrite(&bank, sizeof(bank), 1, file);
if (file!=0)
{
    printf("Data successfully updated into filen");
}
fclose(file);
}

这是因为您正在使用fwrite来写入您提供给它的数据的二进制流。看这里。您应该改用类似 fprintf 的内容:

fprintf(file, "CustomerName: %snCIF Number: %s", bank.customer_name, bank.cif_no);

男人fprintf

最新更新