首页 > 解决方案 > C 编程代码不会停止从文本文件中读取

问题描述

我正在尝试从文本文件中读取数据并在有人进入房间和有人离开房间时打印。文本文件是教授帮助我们收集的传感器数据。该文件包含传感器检测到的角度和范围(他在文本文件中将“角度”拼写为“天使”)。

我遇到的问题是程序将读取文件并打印我想要的内容,但它不会停止读取文件。我还需要添加一个计数器,每次有人进来时都会加一个,每次有人出去时都会减一个,但我无法添加计数器并让它打印,直到我修复代码并让它停止阅读文本文件。我当前的代码如下。请帮我解决这个问题,谢谢!

#include <stdio.h>
int main() {
FILE *fp;
FILE *op;
int time;
int range;
float i;
float angel;
char str;
fp = fopen("/home/chris/Desktop/test.txt", "rt");
op = fopen("/home/chris/Desktop/Pro.csv", "w");
i=0;
while((str = getc(fp)) != EOF) {
fscanf(fp,"range: %d, ",&range);
fscanf(fp,"angel: %f,",&angel);

if (angel == -10.75)
{
if(range<4100) {

printf("Someone has entered the room\n"); 
}
}
if (angel == -10.75)
{
if (range>4100 && range<6000)


printf("Someone has left the room\n");
i++;


}
}

fclose(fp);
fclose(op);
return 0;
}

标签: c

解决方案


的返回类型getc()int,但您的str变量是char。可能是您的系统使用的值EOF超出了 a 的范围char


推荐阅读