0

私のプログラムに保存された私のファイルには、次のように表示されます

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

それは私が試したものですが、無限にループします。

4

2 に答える 2

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
于 2013-10-29T15:47:15.900 に答える
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
}
于 2013-10-29T15:47:40.047 に答える