因此,在我的程序中保存的文件显示为
name name number
name name number
name name number
name name number
name name number
我需要获取该文件中的元素数量,因此在这种情况下应该是5
FILE *pRead;
int num = 0;
pRead = fopen("names.dat", "r");
if ( pRead == NULL )
printf("\nFile cannot be opened\n");
else
while ( !feof(pRead) ) {
num++ //add one to num
printf("Num = ",num); //pint the value of num
} //end loop
这就是我尝试的但它循环无限。
答案 0 :(得分:0)
您需要从循环中的文件中读取:
char buf[500];
while ( !feof(pRead) ) {
fgets(buf, 500, pRead); // Read another line from the file
num++ //add one to num
printf("Num = ",num); //pint the value of num
} //end loop
答案 1 :(得分:0)
你好,你打开了文件,但没有看到它。意味着文件指针停留在文件的开头,因此循环不会终止。 您可以将其更改为;
char line[100]; //Assuming max. length of one line is 100
while(fgets(line, 100, pRead) != NULL)
{
//process the read data "line array" here
}