gpt4 book ai didi

c - 写入和读取文件的问题

转载 作者:行者123 更新时间:2023-11-30 20:25:30 24 4
gpt4 key购买 nike

我正在尝试完成这个练习:使用 fscanf()fprintf() 函数编写一个程序,将从输入中获取的一些数字写入文件,逐个读取值,打印增加了 1 的值并将它们重写到文件中。

这是我所做的:

include <stdio.h>
#include <cstdlib>

int main()
{
FILE *fp_1, *fp_2;
int n, num, num_inc, i;

fp_1 = fopen("output.txt", "w");
if (fp_1 == NULL) {
printf("Error");
return 1;
}
printf("How many values you want to write? ");
scanf("%i", &n);
for(i=0; i<n; i++) {
printf("Write the %i number: ", i+1);
scanf("%i", &num);
fprintf(fp_1, " %i ", num);
}
printf("Values read from file:\n");
fp_2 = fopen("output.txt", "r");
if(fp_2 == NULL) {
printf("Error");
return 2;
}
i = 0;
while(!feof(fp_2) && i<n) {
fscanf(fp_2, " %i ", &num);
num_inc = num+1;
fprintf(fp_1, " %i ", num_inc);
printf("%i value read is: %i\n", i+1, num_inc);
i++;
}

fclose(fp_1);
fclose(fp_2);
system("pause");
}

这是输出:

How many values you want to write? 5
Write the 1 number: 32
Write the 2 number: 124
Write the 3 number: 55646
Write the 4 number: 32
Write the 5 number: 112

Values read from file:

1 value read is: 113.

问题是只读取了一个值。

谢谢!

最佳答案

尝试在 fp_1 上执行 fclose,然后再次以 fp_2 打开文件。

关于c - 写入和读取文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28528127/

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