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
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.
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
¿Imprime en pantalla Error de apertura del archivo? Depuralo y mira el valor de errno.
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...
Juega con la llamada al sistema open():
int descriptor_archivo = open("archivo", O_RDONLY);
Finalmente maneja el archivo con ese descriptor.
Tampoco se me abre :-(
Cita de: 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...
printf("Error de apertura del archivo. %s\n", strerror(errno));
Has puesto solo el nombre del archivo no?