elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: duda programa: no de devuelve el identificador como parametro de una funcion en: 26 Enero 2018, 08:47 am
muchisimas gracias!!!estaba empecinado en devolverlo como parametro y no con el return
2  Programación / Programación C/C++ / duda programa: no de devuelve el identificador como parametro de una funcion en: 24 Enero 2018, 20:57 pm
buenas a todos,
mi duda es que tengo que crear un programa donde una de las partes es crear una funcion para abrir un archivo pasandole como parametro de entrada el nombre de archivo y el "r" de read (que ahora no me acuerdo como se llama el parametro) y me devuelva el identificador del archivo.
el problema es que el identificador no me lo devuelve bien, he probado a printearlos dentro de la funcion y en el main y tienen diferente valor.
si printeo el archivo dentro de la funcion me lo hace bien, pero di lo intento fuera de la funcion no. esta claro que esto es por el identificador, que no lo recoge bien el main.
por que puede ser????

os dejo el programa y el archivo a leer:
texto.txt:
12345        jorge       gomez
43212        andrea         perez
con los campos separados por tabulador

programa:
__________________________________________________________________________
#include <stdlib.h>
#include <stdio.h>
void abrir(char nom[],FILE *fich, char b[]){
     char nombre[40],dni[10],apellido[100];
   
     fich=fopen(nom,b);
     
     fscanf (fich, " %[^\t]",dni);                 
     fscanf (fich, " %[^\t]",nombre);
     fscanf (fich, " %[^\t]",apellido);
     
     printf("%s    %s     %s\n",dni,nombre,apellido);
     printf(" valor del identificador:  %d         ------------\n",fich);
}

int main(){
    FILE *fichlec,*fichesc;
    char nombre[40],apellido[100],dni[10],nom[100],b[]="r";

    printf ("introduce el nombre del archivo de lectura");
    scanf ("%s",nombre);
   
    abrir(nombre,fichlec, b);
    printf("hasta aqui funciona bien\n");
   
    printf("aqui imprimo otro valor de identificador y rompo en el fscanf\n");
    printf(" valor del identificador:  %d         ------------\n",fichlec);
    fscanf (fichlec, " %[^\t]",dni);   
    printf("AAAAAAAAAAAAAAAAAAAA");             
    fscanf (fichlec, " %[^\t]",nom);
    fscanf (fichlec, " %[^\t]",apellido);
    printf("%s    %s     %s",dni,nom,apellido);
    system("pause");
}
_______________________________________________________________________

alguna idea de por que puede ser?como tengo que hacer el llamamiento a la funcion para que me lo devuelva bien??

gracacias!!!!
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines