从循环中的* .txt文件中读取

时间:2012-03-23 14:29:12

标签: c

可以像这样循环读取txt文件吗? 文件名:input_1,input_2,...,input_20,“input_k”中的“k”为变量。

for ( int k=0; k<20; k++ ){
    fr = fopen("input_k", "r"){
        for ( int i=0; i<width; i++ ){
            for ( int j=0; i<height; i++ ){
                fscanf( fr, "%d", &input_k[i*width+j] );
            }  
        }
    }
    fclose(fw);
}

1 个答案:

答案 0 :(得分:1)

我认为这样的事情就是你的目标,它将适用于C89,C99等:

int k;
int input[20][WIDTH][HEIGHT];  // where WIDTH and HEIGHT are 
                               // compile-time constants
...
for ( k=0; k<20; k++ )
{   
  char fname[10];
  sprintf(fname, "input_%d", k);
  FILE *fr = fopen(fname, "r");
  if (fr)
  {     
    int i;    
    for (i=0; i<WIDTH; i++ )
    {  
      int j;           
      for (j=0; j<HEIGHT; j++ )
      {                 
        fscanf( fr, "%d", &input[k][i][j] );             
      }           
    }
    fclose(fr);     
  } 
}

但是,我在这里对你的意图做了一些假设,所以这可能不是你真正想要的。

修改

修正了一些拼写错误,摆脱了widthheight变量。