Título: problema al leer primer caracter y compararlo con otro
Hola, estoy empezando con c y c++ y tengo un problema que no consigo resolver. Quiero leer el primer carácter de un fichero y si es igual a "!" realizar otras operaciones.
if (&firstch == "!") { cout << "First char equal to !" << endl; } if (fclose(input)!=0) { printf("Error closing file\n"); }
Estoy haciendo pruebas leyendo 3 ficheros, dos de ellos comienzan con ">" y otro con "!". Los resultados son estos:
What gets: > What gets: >l
What gets: > What gets: >l
What gets: ! What gets: !l
No detecta el último fichero que comienza con "!". Cuando cambio la comparacion de "if (&firstch == "!") {" por "if (firstch == "!") {" me aparece el siguiente error de compilación:
ISO C++ prohíbe la comparación entre puntero y entero :: === Build finished: 1 errors, 0 warnings ===
Mi pregunta es cómo debo comparar el valor que lee el fichero con el carácter "!" para poder hacer otras operaciones? He leido manuales y cursos sobre C y C++ pero no entiendo muy bien porque no es posible ese tipo de comparaciones.