Cómo leer datos de un archivo pgm en C ++

Hasta ahora puedo leer cada línea e imprimirla en la consola:

void readFile(){

   string line;
   ifstream myfile("example1.pgm");

   if (myfile.is_open()){
       while (myfile.good()){
         getline (myfile,line);
         cout << line;
       }
   }

Sin embargo, un archivo pgm aparentemente siempre tendrá lo siguiente al inicio antes de los datos:

P2
# test.pgm
24 7
15

¿Cómo puedo adaptar mi código para que compruebe que "P2" esté presente, ignore cualquier comentario (#) y almacene las variables y los datos de píxeles posteriores?

Estoy un poco perdido y soy nuevo en c ++, por lo que cualquier ayuda es apreciada.

Gracia

Respuestas a la pregunta(2)

Su respuesta a la pregunta