在 C 中使用 fwrite 将存储在结构中的整数写入 .txt 文件,但是当我打开 .txt 文件时数字显示为框

using fwrite in C to write integers stored in a structure into .txt file, but the numbers shows up as box when I open the .txt file

我正在使用 fwrite 将存储在结构中的整数写入 .txt 文件。但是,当我打开文件时,数字不可读(变成方框): 这是我的代码:

fp=fopen("pre-survey.txt", "a");
printf("name\n");
scanf("%s", &temp.name);
printf("q1:\n");
scanf("%d", &temp.q1);
printf("q2:\n");
scanf("%d", &temp.q2);
printf("q3:\n");
scanf("%d", &temp. q3);
fwrite(&temp, sizeof(temp), 1, fp);
fclose(fp);
}

temp 是我声明的结构:

struct pre_survey{ 
char name[20]; int q1; int q2; int q3; };
struct pre_survey temp; 
struct pre_survey get;

有什么建议吗?

可以使用fprintf函数。

类似于:

fprintf(fp, "%s, %d, %d, %d", temp.name, temp.q1, temp.q2, temp.q3);