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í¡¡¡
Creo que te interesa leer eso :D
http://c.conclase.net/ficheros/?cap=002 (http://c.conclase.net/ficheros/?cap=002)
con scanf no se escribe en un fichero, se escribe con fprintf por ejemplo...
edito: ¿para que sirve fstream? no conozco esa libreria...
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
Cita de: 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
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.
Cita de: xoker en 27 Diciembre 2013, 20:56 PM
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)
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: