- ¿Qué falla en el siguiente código?
[...]
if (chmod("pepe.txt",0666)==-1);
{perror("chmod");
return 1;}
[...]
Cuando lo ejecuto me aparece:
chmod: Error 0
He comprobado mil veces los permisos de
pepe.txt
y todo parece en orden.
Pista: Sutil como la vida misma.
Solución.
- Al compilar la práctica del
getdirentries
me da el siguiente error:
/usuarios/gyermo/PRIVADO/SO/PRACTS/GETDIR$ c89 -D_HPUX_SOURCE getdir.c -o>
cc: "getdir.c", line 15: warning 604: Pointers are not assignment-compatible.
cc: "getdir.c", line 15: warning 563: Argument #2 is not the correct type.
En la línea 15 tengo lo siguiente:
getdirentries(fd,buffer,8192,&hola);
¿Qué puedo hacer? Estoy desesperad@.
Pista: ¿El puntero con el que sales es de buena
familia?.
Solución.
- Cuando compilo mi progrma aparece:
/alumnos/inf/infXXXX/sistemas/sesion2/practica1 > make
c89 -g practica1.o -o cambiala -lm
/usr/ccs/bin/ld: Can't create cambiala
/usr/ccs/bin/ld: Text file busy
*** Error exit code 1
Stop.
¿Por qué está el fichero de texto ocupado?
Pista: La pérfida Albión.
Nota: las identidades de l@s autor@s han sido preservadas.
Solución.
- ¿Qué puede estar fallando aquí?:
if(i=read(fd,buffer,longitud)==-1)
{sprintf(etiqueta,"%s:%s",argv[0],argv[1]);
perror(etiqueta);
return 1;}
printf("longitud=%d\n",i);
Siempre me pone que read lee cero caracteres, por más que
la longitud que pongo sea mayor que cero y el búfer
esté bien definido.
Pista: Donde hay patrón, no manda marinero.
Solución
- Cuando ejecuto un programa con la siguiente línea:
if (argc=!2 || atoi(argv[1])<0 || atoi(argv[2])<=0)
{
...
}
en su función main
, me sale una ventana
indicando una violación de acceso a memoria cuando
no meto dos argumentos por la línea de órdenes. ¿Por
qué?
Pista: El orden de los factores sí altera el
producto.
Solución
- Al producirse un error de
Violación de
Segmento
o
Segmentation Fault
, no se genera el fichero
core
y, por consiguiente, no puedo aplicar
sobre él el depurador.
Pista: ¿Dónde estará mi core?.
Solución