Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alejandro_N12

#21
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 05, 2011, 08:34:17 PM
Porque a es el tipo del registro, y con sizeof le indicas el tamaño

Edit: El segundo parametro te pide el tamaño de lo que vas a guardar, como vas a guardar un registro de tipo a con sizeof podes saber el tamaño que ocupa
#22
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 05, 2011, 08:04:21 PM
Código: text
fwrite(&con[x], sizeof(a), 1, v);
#23
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Ahí tenes todas las funciones de la librería graphics con una explicacion de cada una y un ejemplo de su utilizacion
#24
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 05, 2011, 06:54:23 PM
A ver como pusiste el fread
#25
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 05, 2011, 06:34:30 AM
Y el nombre de la variable, en tu caso creo que es con
#26
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 05, 2011, 12:33:20 AM
Cambia los fscanf por los fread
y los fwrite por los fprintf

fwrite(&reg, sizeof(stRegistro), 1, fichero);

El primer parámetro es el registro
El segundo el tamaño del registro, con la funcion sizeof y entre los parentesis la estructura lo sabes
El tercero es la cantidad a escribir
El cuarto es el nombre del puntero al archivo

Dependiendo si queres escribir los nuevos datos siempre al final antes de agregar podes usar la funcion fseek


#27
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 04, 2011, 11:48:29 PM
Abri el TXT y donde lo guardas y fijate si te lo guarda bien, para ver si es un error al leerlo o al escribirlo
#28
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 04, 2011, 10:57:11 PM
Empeza a separar las cosas en funciones

Código: c
void  leerArchivo ()
{
x=0;
rewind(v);
while(!feof(v))
{
                        fscanf (v,"%s",&con[x].nombre);
fscanf (v,"%s",&con[x].apellido);
fscanf (v,"%d",&con[x].edad);
fscanf (v,"%2d/%2d/%4d",&con[x].fn.dia,&con[x].fn.mes,&con[x].fn.ano);
fscanf (v,"%ld",&con[x].tel);
fscanf (v,"%ld",&con[x].dni);
fscanf (v,"%s",&con[x].correo);
}
}



Igual tenes muchas cosas mal, creas estructuras pero despues los valores los guardas independientemente
Si creas estructuras despues no las guardes con fprintf, guardalas con
fread(void *puntero, size_t tamaño, size_t nregistros, FILE *fichero); o fwrite

Código: c
// copia.c: Copia de ficheros
// Uso: copia <fichero_origen> <fichero_destino>

#include <stdio.h>

int main(int argc, char **argv) {
    FILE *fe, *fs;
    unsigned char buffer[2048]; // Buffer de 2 Kbytes
    int bytesLeidos;

    if(argc != 3) {
       printf("Usar: copia <fichero_origen> <fichero_destino>\n");
       return 1;
    }

    // Abrir el fichero de entrada en lectura y binario
    fe = fopen(argv[1], "rb");
    if(!fe) {
       printf("El fichero %s no existe o no puede ser abierto.\n", argv[1]);
       return 1;
    }
    // Crear o sobreescribir el fichero de salida en binario
    fs = fopen(argv[2], "wb");
    if(!fs) {
       printf("El fichero %s no puede ser creado.\n", argv[2]);
       fclose(fe);
       return 1;
    }
    // Bucle de copia:
    while((bytesLeidos = fread(buffer, 1, 2048, fe)))
       fwrite(buffer, 1, bytesLeidos, fs);
    // Cerrar ficheros:
    fclose(fe);
    fclose(fs);
    return 0;
}



Si vas a guardar las cosas de otra manera ni crees las estructuras
#29
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 04, 2011, 08:18:02 PM
Antes de la carga de datos pone

Código: c
rewind(v);
while(!feof(v))
{
                        fscanf (v,"%s",&con[x].nombre);
fscanf (v,"%s",&con[x].apellido);
fscanf (v,"%d",&con[x].edad);
fscanf (v,"%2d/%2d/%4d",&con[x].fn.dia,&con[x].fn.mes,&con[x].fn.ano);
fscanf (v,"%ld",&con[x].tel);
fscanf (v,"%ld",&con[x].dni);
fscanf (v,"%s",&con[x].correo);
}



Igual si no me equivoco podes leer toda la estructura en vez de ir de a uno, pero no estoy seguro
#30
Dudas y pedidos generales / Re:Ayuda con Agenda en C
Junio 04, 2011, 07:55:07 PM
En C, los ficheros admiten seis modos en cuanto a la dirección del flujo de datos:

r: sólo lectura. El fichero debe existir.
w: se abre para escritura, se crea un fichero nuevo o se sobrescribe si ya existe.
a: añadir, se abre para escritura, el cursor se situa al final del fichero. Si el fichero no existe, se crea.

r+: lectura y escritura. El fichero debe existir.
w+: lectura y escritura, se crea un fichero nuevo o se sobrescribe si ya existe.
a+: añadir, lectura y escritura, el cursor se situa al final del fichero. Si el fichero no existe, se crea.

En cuanto a los valores permitidos para los bytes, se puede añadir otro carácter a la cadena de modo:
t: modo texto. Normalmente es el modo por defecto. Se suele omitir.
b: modo binario.



Agregado: Si abrís el fichero en modo a+, antes de leer datos del archivo tenes que usar la función rewind(); que vuelve el puntero al principio del archivo
void rewind(FILE *fichero)
Esto lo haces porque si no al archivo lo abrís al final y es obvio que no va a leer nada, después usas la función while(!feof(fichero)) , que lo que hace es leer el fichero hasta que llegue al final y ahí vas pasando los datos a memoria o solo pasas el dato que te sirve
#31
Aca te dejo el CodeBlocks por si lo queres probar
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
#32
Dudas y pedidos generales / Re:ayuden por favor
Mayo 08, 2011, 11:14:12 PM
Si podes usarla para pausar el programa, tambien incluso podes asignar la tecla que se presiono a una variable, por ejemplo

char a;

a=getch();
#33
C / C++ / Re:Compiladores C/C++
Julio 17, 2010, 10:14:44 PM
Te dejo el link del codebloc por si lo queres agregar
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Esta la descarga para distintos sistemas operativos y sirve para C y C++