por eso respondi lo que respondi, pues es factible que ella este tratando de abrir un archivo de texto en modo binario, o viceversa, y puede que haya obtenido resultados inexperados, como caracteres raros en caso de que lea como binario algo de texto, o arrays con tamaños que no corresponde en el caso de que estuviera leyendo como texto un archivo que debiera ser leido binario..
El error puede no ser de sintaxis, ni en tiempo de diseño, lo más probable es que se le hubiese generado como un error en tiempo de ejecucion o como un programa que no proporciona la informacion que deberia.
Por cierto ese error de confundir c con c++ es muy comun, en especial cuando la mayoria de los compiladores aceptan extenciones c o cpp indistintamente para ambos lenguajes, y más aún cuando puedes progtramar en modo mixto, es decir un programa con c y c++ al tiempo...
no estoy muy de acuerdo con esto, menos mal muchos de los mas recientes en windows ya no permiten estas opciones por defecto, en linux, generalmente el gcc generaria error incluso por compilar un programa cuyo fuente se escribiera con la extencion .c en masyuscula es decir ext .C, o por compilar un archivo de c++ con ext c generaria error, a no ser que como opcion se le pasara que ese es un archivo de c.
Juank