elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema al abrir binario en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema al abrir binario en C  (Leído 5,309 veces)
Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #10 en: 5 Febrero 2012, 12:00 pm »

¿Has probado a incluir errno.h y a usar perror para ver exactamente que problema tienes? Cuando fopen te devuelve NULL no quiere decir necesariamente que no se pueda abrir el archivo porque no se encuentra. También puede ser un problema de permisos. Estoy en Linux y me va perfecto este código en el que sólo he cambiado el gets por el scanf, lo cual no tiene nada que ver (con el gets también me va bien):

Código
  1. int openbin(void) {
  2. FILE *pfile;
  3. char namebin[50];
  4. printf("Name:\n");
  5. scanf("%s",namebin);
  6. if ((pfile = fopen(namebin, "rb"))== NULL) {
  7.  printf("Couldn't open the file\n");
  8.  exit(1);
  9. }
  10. printf("The file was opened successfully\n");
  11.  
  12. return 0;
  13. }

Saludos


En línea

juanperez3214

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #11 en: 5 Febrero 2012, 19:20 pm »

he intentado con perror y sale esto "fopen fallo por : No such file or directory" segun esto no lo encuentra pero el archivo esta en la misma capeta, tambien he intentado con la ruta pero tampoco


En línea

juanperez3214

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #12 en: 5 Febrero 2012, 19:23 pm »

y lo de los permisos no creo ,tiene permiso de todo y ademas ejecuto el programa  como sudo
En línea

Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #13 en: 6 Febrero 2012, 00:41 am »

¿?

A ver. ¿Estás seguro de que el archivo de texto está en el mismo directorio que tu programa o de que usas la ruta absoluta o relativa correcta? No ha lugar a errores con este código. Comprueba que estás introduciendo correctamente el nombre del archivo, respetando mayúsculas y minúsculas y con la extensión apropiada (en Linux es necesario que introduzcas el nombre del archivo exacto). Si acaso, introduce un printf para imprimir la cadena en que guardas el nombre del archivo y así comprobar que se guarda correctamente y que coincide exactamente con el nombre del archivo de texto.

En última instancia, dinos la ruta del ejecutable (con los nombre incluidos), la ruta del fichero de texto y la entrada de datos que efectúas cuando ejecutas el programa.

Y por cierto, no hace falta que ejecutes el programa con sudo. Usa sudo lo menos posible.

Saludos
En línea

juanperez3214

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #14 en: 6 Febrero 2012, 01:05 am »

Bueno ya he solucionado el problema aunque no tengo ni idea de porque se arreglo. lo unico que hice fue mover el ejecutable y el archivo  a un nuevo directorio y funciono.


Muchas gracias a todos por las respuestas
En línea

juanperez3214

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #15 en: 6 Febrero 2012, 01:22 am »

Me acabo de dar cuenta que  los archivos con nombre numerico no los abre, estaba intentando con un archivo llamda "311" y intente con un archivo con nombre "hola" y lo abrio perfectamente
En línea

Xandrete

Desconectado Desconectado

Mensajes: 210



Ver Perfil
Re: Problema al abrir binario en C
« Respuesta #16 en: 6 Febrero 2012, 09:27 am »

¿Por ser un nombre numérico? Extraño. A mí con nombres numéricos me va perfecto. Entre las recomendaciones a la hora de dar nombre a un fichero en sistemas Unix no figura "No dar nombres numéricos" (de hecho, los directorios asociados a los procesos en /proc/ tienen como nombres el PID de los procesos, que son totalmente numéricos). Me parece raro. Bueno, ya has solucionado en parte tu problema, así que no sé si te apetece seguir investigando. ¿Has probado otro nombre numérico que no sea 311? Tal vez haya algún fichero en alguno de los directorios del PATH que se llame exactamente igual, aunque no creo que sea esto lo que pase, porque en ese caso lo que suele ocurrir es que se le dé prioridad a ese fichero. Para estar seguros, podrías introducir ./311 en vez de 311 a secas y ver si te sigue dando la matraca.

¡Saludos!
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Abrir imagen en binario « 1 2 »
Programación Visual Basic
xDie 18 5,442 Último mensaje 20 Octubre 2006, 20:54 pm
por soplo
[ code=C++] Conversor binario-decimal-binario « 1 2 »
Programación C/C++
Chonk 11 23,598 Último mensaje 9 Julio 2010, 17:52 pm
por Debci
Urgente problema Arbole binario de busqueda y combinatoria
Programación C/C++
ricardoacosta86 2 3,067 Último mensaje 12 Agosto 2010, 05:06 am
por Beakman
Problema al convertir de binario a hexadecimal (MAC)
Java
xopito 2 5,033 Último mensaje 26 Marzo 2011, 11:43 am
por xopito
Tengo un problema (convertidor a binario)
Java
DarkSorcerer 2 2,817 Último mensaje 2 Septiembre 2012, 03:08 am
por DarkSorcerer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines