Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Karkass en 27 Diciembre 2013, 10:43 am



Título: Problemas con ficheros en C
Publicado por: Karkass en 27 Diciembre 2013, 10:43 am
Buenas, tengo este código, no se si el fallo está en la llamada a los datos o la estructura del código en general, alguien podría echarme una mano?

//BIBLIOTECAS

#include <stdio.h>
#include <fstream>

//DEFINE

#define MAX 50
#define MAX_VECTOR 500

//PROTOTIPOS

void introducir();
void buscar();
void salir();

//ESTRUCTURAS

typedef struct{

        char nombre_trabajador[MAX];
        char apellido_trabajador[MAX];
        char DNI[MAX];
        int horas_trabajadas;  
        float sueldo;    

}Ttrabajadores;

Ttrabajadores trabajador[MAX_VECTOR];

//AQUÍ SE ENCUENTRA EL CÓDIGO DEL MENÚ (NO LO HE PUESTO PORQUE ES EXTENSO)

//FUNCIONES

void introducir(){
    
     //ABRIMOS EL FICHERO
      FILE * pFile;
      pFile = fopen ("bd_trabajadores.txt","a+");
    
     //ESCRIBIRMOS EN EL FICHERO
    
     printf("************* DATOS DEL TRABAJADOR *************\n\n");
    
     printf("Introduce el nombre: \n");
     scanf("%s", trabajador.nombre_trabajador);
    
     printf("Introduce el apellido: \n");
     scanf("%s", trabajador.apellido_trabajador);
    
     printf("Introduce su DNI: \n");
     scanf("%s", trabajador.dni_trabajador);
    
     printf("Introduce las horas que trabaja por semana: \n");
     scanf("%d", trabajador.horas_trabajadas);
      
     //CERRAMOS EL FICHERO
    
      fs.close(pFile);
    
}

Gracias y espero aprender mucho por aquí¡¡¡


Título: Re: Problemas con ficheros en C
Publicado por: vangodp en 27 Diciembre 2013, 16:00 pm
Creo que te interesa leer eso  :D
http://c.conclase.net/ficheros/?cap=002 (http://c.conclase.net/ficheros/?cap=002)


Título: Re: Problemas con ficheros en C
Publicado por: xoker en 27 Diciembre 2013, 17:06 pm
con scanf no se escribe en un fichero, se escribe con fprintf por ejemplo...

edito: ¿para que sirve fstream? no conozco esa libreria...


Título: Re: Problemas con ficheros en C
Publicado por: rir3760 en 27 Diciembre 2013, 17:35 pm
Es un tema duplicado, ya le están ayudando en su otro tema: Problemas con los ficheros (http://foro.elhacker.net/programacion_cc/problemas_con_los_ficheros-t405604.0.html)

En cuanto a fstream (http://www.cplusplus.com/reference/fstream/fstream/) es parte de la biblioteca estándar de C++.

Un saludo


Título: Re: Problemas con ficheros en C
Publicado por: xoker en 27 Diciembre 2013, 20:56 pm
Es un tema duplicado, ya le están ayudando en su otro tema: Problemas con los ficheros (http://foro.elhacker.net/programacion_cc/problemas_con_los_ficheros-t405604.0.html)

En cuanto a fstream (http://www.cplusplus.com/reference/fstream/fstream/) es parte de la biblioteca estándar de C++.

Un saludo

Entonces ok, dejo el tema en paz, solo una duda, si la biblioteca fstream es parte del la biblioteca stantart de c++ no se podra agregar en un fichero .c cierto? Y esta claro que esta trabajando con C puesto que las otras bibliotecas conservan el .h

Un saludo.


Título: Re: Problemas con ficheros en C
Publicado por: leosansan en 28 Diciembre 2013, 11:13 am
Entonces ok, dejo el tema en paz, solo una duda, si la biblioteca fstream es parte del la biblioteca stantart de c++ no se podra agregar en un fichero .c cierto? Y esta claro que esta trabajando con C puesto que las otras bibliotecas conservan el .h

Aunque no lo parezca por las librerías .h y el uso de printf y scanf, más propios del C, la inclusión de la librería <fstream> pone de manifiesto que trabaja en C++, ya que no existe la correspondiente librería <fstream.h> en C.

;-)  ;-) Felices Navidades y Próspero Año Nuevo.  ;-)  ;-)


¡¡¡¡ Saluditos! ..... !!!!


(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)





Título: Re: Problemas con ficheros en C
Publicado por: Karkass en 2 Enero 2014, 10:21 am
Gracias¡¡¡¡¡, ya lo solucioné¡¡¡

void introducir(void){
     
     //VARIABLES
     
     int i;
     
     //ABRIMOS EL FICHERO
      FILE * pFile;
      pFile = fopen ("bd_trabajadores.txt","a+");
     
     //ESCRIBIMOS EN EL FICHERO
     
     printf("\n\n\n************* DATOS DEL TRABAJADOR *************\n\n");
     
     for(i=0;i<1;i++){
     
     printf("Introduce el nombre: \n");
     scanf("%s", trabajador.nombre_trabajador);
     fwrite (trabajador.nombre_trabajador , sizeof(char), sizeof(trabajador.nombre_trabajador), pFile);

}

No me había dado cuenta de un par de cosas jajajajaja, ahora a seguir¡¡¡  :rolleyes: :rolleyes: