读DAT文件

时间:2014-04-10 01:49:55

标签: c++ file

我想在C / C ++中读取一个“.dat”文件,并使用“SLIC superpixel”包中的指令,如下所示:

//------------------------------------------------------

  int width = 3872;
  int height = 2592;
  std::vector<int> labels(width*height);
  FILE* pf = fopen("../Img5882.dat", "r");
  int sz = width*height;
  int* vals = new int[sz];
  int elread = fread((void*)vals, sizeof(int), sz, pf);
  for( int j = 0; j < height; j++ )
  {
      for( int k = 0; k < width; k++ )
      {
          int i = j*width+k;
          labels[i] = vals[i];
          std::cout << labels[i] << "\n";
      }
  }
  delete [] vals;
  fclose(pf);
//------------------------------------------------------

DAT文件是一个二进制文件,包含光栅扫描顺序中每个像素的标签(作为32位整数值),没有其他字符(如空格或逗号)。

编译和构建没有问题。但是,在第7行(int elread = ...)上,发出运行时错误/分段错误。

有人可以帮我吗?

0 个答案:

没有答案