0

我正在尝试读取 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();

文件已打开,但我无法读取。我也尝试过使用 << 运算符进行输出,但也没有运气。

4

1 回答 1

1

可能正在读取您的文件,但您的变量并未存储其中的所有值。我建议添加这个而不是 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();

如您所见,您应该将所有值存储在某种数组中,这里我使用了一个向量来提高灵活性。剩下的就看你了。

于 2014-11-16T23:23:48.863 回答