1

次の内容の txt ファイルを読み取ろうとしています。

test.txt

3,4
5,6
7,8

各ペアは 1 行にあります。これらの値を配列に入れたい。しかし、テスト txt のペア数に基づいて配列サイズを調整したいと考えています。

そのため、txt ファイルで使用可能な行数を計算し、その行数EOFを配列に割り当てて、配列を割り当てましsizeofた。fscanfファイルのような2342,123123

これが私のコードです:

#include <stdio.h>
int main(int argc , char **argv)

{

FILE *pf;
int k;

int counter=0;
    int c;

   pf = fopen("test.txt", "r");

    if(pf==NULL)
    {    
      printf("its nuull");
     }
    else
    {
do
{
c=fgetc(pf);
if(c=='\n')
counter++;

}while(c!=EOF);


printf("counter value is = %d\n", counter);


int b[counter][2];

     for(k=0;k<counter;k++)
       {
     fscanf(pf,"%d, %d" ,&b[k][0],&b[k][1]);
    printf("%d,%d\n" ,b[k][0],b[k][1]);
    }



 }
fclose(pf);
    }
4

2 に答える 2

4

電話する必要があると思います:

rewind(pf);

カウンター値を表示した後。

これにより、ファイル ポインタがファイルの先頭にリセットされます。

于 2013-10-11T06:33:34.393 に答える