C语言fscanf的eof无限循环,使用fscanf时无限循环

本文介绍了在C语言编程中,使用fscanf读取文件遇到EOF时导致无限循环的问题。作者提供了一个简单的代码示例,展示了一个从txt文件中读取摩托车比赛结果的程序。当尝试读取文件结束符时,程序出现无限循环。讨论了可能的原因,并询问是否存在替代函数来读取此类数据。
摘要由CSDN通过智能技术生成

我用C编写了这个简单的程序,因为我现在正在大学学习FILES.我带了一个txt文件,其中包含最后一场比赛的结果列表,所以我的程序将按照我的要求显示格式化的数据.这是我的代码:

/* Esercizio file Motogp */

#include

#define SIZE 20

int main ()

{

int pos, punt, num;

float kmh;

char nome[SIZE+1], cognome[SIZE+1], moto[SIZE+1];

char naz[SIZE+1], nome_file[SIZE+1];

FILE *fp;

printf ("Inserisci il nome del file da aprire: ");

gets (nome_file);

fp = fopen (nome_file, "r");

if (fopen == NULL)

printf ("Errore nell' apertura del file %s\n", nome_file);

else {

while (fscanf (fp, "%d %d %d %s %s %s %s %.2f",

&pos, &punt, &num, nome, cognome, naz, moto, &kmh) != EOF ) {

printf ("Posizione di arrivo: %d\n", pos);

printf ("Punteggio: %d\n", pun

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值