Forums:
Hola amigos como estan, tengo un pequeño problemita con el siguiente codigo en c:
#include
#include
#include
#include
void perror_modificada(const char *mensaje, int errnum);
int main(void)
{
FILE *pfile;
if((pfile = fopen("foobar"), "r")) == NULL)
{
perror_modificada("fopen", errno);
exit(EXIT_FAILURE);
}
else{
fprintf(stdout, "¿Asi que este archivo existia?\n");
fclose(pfile);
}
exit(EXIT_SUCCESS);
}
void perror_modificada(const char *mensaje, int errnum)
{
fprintf(stderr; "%s: %s\n", mensaje, strerror(errnum));
}
y sale el siguiente error
[root@localhost ~]# gcc ejercicio01.c -o ejercicio01
ejercicio01.c: In function ‘main’:
ejercicio01.c:12: error: muy pocos argumentos para la función ‘fopen’
ejercicio01.c:12: error: expected expression before ‘==’ token
ejercicio01.c:12: error: expected statement before ‘)’ token
ejercicio01.c:17: error: expected expression before ‘else’
ejercicio01.c: In function ‘perror_modificada’:
ejercicio01.c:25: error: expected ‘)’ before ‘;’ token
ejercicio01.c:25: error: muy pocos argumentos para la función ‘fprintf’
[root@localhost ~]#
Estoy tratando de hacer un pequeño shell para poder ejecutar comandos y nada... ojala puedan indicarme en donde tengo que hacer correciones
Revisa los errores...
Revisa los errores.. te dicen claramente q sucede..
1er. Error.
if((pfile = fopen("foobar"), "r")) == NULL)
ese parentesis ) no debe ir ahi.. luego del "foobar"
2do. Error
fprintf(stderr; "%s: %s\n", mensaje, strerror(errnum));
luego de stderr .. .no debe ir ; (punto y coma) ... sino , (coma) ....
Y listo.. eso es todo .. ahi ya compila..
Saludos.
C@rlos H.
Saludos.
C@rlos H.
La solucion frente a nuestros ojos
Muchas gracias amigo.. jaja.. ya habia corregido el primero, pero si que no habia visto el ; en vez de coma... que gracioso... bueno, muchas gracias, salu2