计算文件中数组的长度

时间:2013-10-29 15:37:46

标签: c file-io

因此,在我的程序中保存的文件显示为

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

这就是我尝试的但它循环无限。

2 个答案:

答案 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
}