如何读取.txt文件中的特定值,然后将其与另一个文件进行比较?

时间:2019-04-18 12:25:18

标签: c

实际上,我是编程和技术方面的新手,我想创建某种程序,在其中放入一些数据,然后将其打印到.txt文件中。 (完成!),所以现在我想读取文件,并获取文件中现有的权重值。并将现有值与新值进行比较,并从中有所作为。 (例如:减肥:0.2公斤或类似的东西)。

实际上就是我如何创建数据

FILE *f;
f = fopen("weight.txt", "a");
fprintf(f, "\nDate: %02i.%02i.%4i\nTime: %02i:%02i Uhr\nWeight: %0.2f\n", data.day, data.month, data.year, data.hour, data.minute, data.weight);
fclose(f);

现在我想减轻这个文件的重量,并将其与新文件进行比较。我不知道该如何处理。

2 个答案:

答案 0 :(得分:0)

为了写入文件,您使用了FILE类型和一些内置的file I/O C函数。

您是否尝试过搜索其他可用于处理文件的内置C函数?

答案 1 :(得分:-2)

您可以了解fscanf的工作原理herefgets here

FILE f = fopen("weight.txt", "r");
char buf[100];     // buffer string
float weight;      // variable to hold the input weight

// read the first three lines
fgets(buf, 100, f);
fgets(buf, 100, f);
fgets(buf, 100, f);

// read the last line using fscanf and
// store the weight read
fscanf(f, "Weight: %f\n", &weight);

fclose(f);

printf("Weigth: %f\n", weight);