gpt4 book ai didi

c - 用 C 将数组写入文件,文件应采用人类可读格式

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:02 25 4
gpt4 key购买 nike

尝试学习 C 基础知识。我正在将数组写入文件。我成功地将数据写入文件并将其读回。然而,数据以二进制形式写入文件,这不是人类可读的。我们如何将数据写入文件,使其成为人类可读的格式。

    #include<stdio.h>

typedef struct array
{
int n;
int arr[100];
} array_t;

void print_array(array_t e)
{
printf("%s\n", __FUNCTION__);
int i = 0;
for(i = 0; i < e.n; i++)
printf("%d\n", e.arr[i]);
}

int main()
{
FILE *f1;
array_t e, f;
int i;

printf("Enter Array Size:\n");

scanf("%d",&e.n);

for(i = 0; i < e.n; i++)
{
int temp;
printf("Enter %dth element\n", i+1);
scanf("%d",&temp);
e.arr[i] = temp;
}

print_array(e);

f1 = fopen("one.txt", "wb+");
int ret = fwrite(e.arr, sizeof(int), e.n, f1);

fclose(f1);

f1 = fopen("one.txt", "rb");
f.n = e.n;

for(i = 0; i < e.n; i++) {
int temp = 0;
fread(&temp, sizeof(int), 1, f1);
f.arr[i] = temp;
}

printf("This is read array\n");
print_array(f);

return 0;
}

最佳答案

你的代码应该是这样的:

f1 = fopen("one.txt", "w");

所有的 fread -> fscanf , fwrite -> fprintf.

还有循环中的这些操作(fprintf)

关于c - 用 C 将数组写入文件,文件应采用人类可读格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37276016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com