读取ppm文件C ++

时间:2014-11-16 21:42:27

标签: c++ fstream ifstream ppm

我正在尝试读取ppm文件并将其内容存储在数组中。我开始尝试显示它,但我似乎无法输出任何东西。

char magic;
ifstream myfile;
myfile.open(file,ios::in | ios::binary);
  if (!myfile.is_open()) 
   {
      cout<<"Failed to open";
   }
myfile.get(magic);
if(myfile) cout <<magic <<"not working";
myfile.close();

文件已打开,但我无法阅读。我也尝试使用&lt;&lt;&lt;&lt;&lt;&lt;&lt;运营商,但也没有运气。

1 个答案:

答案 0 :(得分:0)

您的文件可能正在被读取,但您的变量未存储其中的所有值。我建议添加这个而不是myfile.get(magic):

char magic;
ifstream myfile;

if (!myfile.open(file, ios::in | ios::binary)
{
    cout << "Failed to open" << endl;
}

vector<char> magicNumbers;
while (myfile >> magic)
{
    magicNumbers.push_back(magic);
}
myfile.close();

正如您所看到的,您应该将所有值存储在某种数组中,在这里我使用向量来提高灵活性。其余的由你决定。