Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: manzanazul en 21 Octubre 2013, 08:44 am



Título: No se me abren ficheros
Publicado por: manzanazul en 21 Octubre 2013, 08:44 am
Hola a todos!Desde siempre no se me abren los ficheros en mi PC, (Sony Vaio VPCEG23EL) el código en C y la ruta del archivo estan bien , lo he probado en otros ordenadores y se abren los ficheros pero en el mío no, no encuentro por ningún lado como solucionarlo... :(  :-[  Gracias por adelantado


Título: Re: No se me abren ficheros
Publicado por: eferion en 21 Octubre 2013, 08:47 am
la gente de este foro podrá saber mucho o poco de c y c++... pero no son adivinos.

Sin código poco te vamos a poder decir.


Título: Re: No se me abren ficheros
Publicado por: manzanazul en 21 Octubre 2013, 08:53 am
Es que no es del código creo... es del ordenador
El código es este 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N_ELEMS 500
#define LIBRE -1
 
typedef struct {
       char id[15];
       char nombre[60];
       char correo[60];
       char edad[3];
       char compania[20];
}Pers;
 
 
Pers tabla_hash[N_ELEMS];
 
int main(int argc, char** argv)
{
        FILE *documento;
        char linea[500];
        documento = fopen ( "hashing-data.csv", "r" );
        if (documento == NULL){
   
                printf("\nError de apertura del archivo. \n\n");
        }else{
   
   
            printf("\nEl contenido del archivo de prueba es \n\n");
   
            while (feof(documento) == 0)
            {
            Pers Persona1;
                fgets(linea,500,documento);
                //printf("%s\n",linea);
                char *dato;
                dato= strtok(linea,",");// Nos devuelve la id
                strcpy(Persona1.id,dato);
               // printf("%s\n",Persona1.id);
                 
                dato= strtok(NULL,",");// Nos da el nombre.SE pone null para saber que siguem en la misma linea pero que avanze hasta la siguente coma
                strcpy(Persona1.nombre,dato);
                printf("%s\n",Persona1.nombre);
                 
                dato= strtok(NULL,",");// Correo
                strcpy(Persona1.correo,dato);
               
                 
                dato= strtok(NULL,",");// Edad
                strcpy(Persona1.edad,dato);
                printf("%s\n",Persona1.edad);
                 
                dato= strtok(NULL,",");// Compania
                strcpy(Persona1.compania,dato);
                 
            }
        }
        fclose(documento);
         system("PAUSE");
        return 0;
         
   
}
Gracias


Título: Re: No se me abren ficheros
Publicado por: Eternal Idol en 21 Octubre 2013, 10:04 am
¿Imprime en pantalla Error de apertura del archivo? Depuralo y mira el valor de errno.


Título: Re: No se me abren ficheros
Publicado por: manzanazul en 21 Octubre 2013, 10:38 am
Es que no me sale ningún error, me salta a la opción de que el documento es NULL , en plan no lo encuentra ni lo abre ni hace nada...


Título: Re: No se me abren ficheros
Publicado por: manofol en 21 Octubre 2013, 11:00 am
Juega con la llamada al sistema open():

int descriptor_archivo = open("archivo", O_RDONLY);

Finalmente maneja el archivo con ese descriptor.


Título: Re: No se me abren ficheros
Publicado por: manzanazul en 21 Octubre 2013, 11:35 am
Tampoco se me abre :-(


Título: Re: No se me abren ficheros
Publicado por: Eternal Idol en 21 Octubre 2013, 13:11 pm
Es que no me sale ningún error, me salta a la opción de que el documento es NULL , en plan no lo encuentra ni lo abre ni hace nada...

Código
  1. printf("Error de apertura del archivo. %s\n", strerror(errno));


Título: Re: No se me abren ficheros
Publicado por: amchacon en 21 Octubre 2013, 20:37 pm
Has puesto solo el nombre del archivo no?