I am trying to open a text file in a int abreArquivoEntrada
function, and for this I am sending as a parameter the pointer of type FILE
and a vector of char
containing the file name, within the function I use to function of fopen
, but when I start the file pointer after the function execution, it has not changed.
Thank you in advance.
#include <stdio.h>
#include <stdlib.h>
struct PESSOA{
char nome[50];
int idade;
float altura;
};
void leNomeArquivoEntrada(char* S1){
printf("Nome do arquivo: ");
scanf("%s",S1);
}
int abreArquivoEntrada(FILE *Arq , char* S1){
Arq = fopen(S1,"r");
printf("Na funcao %d \n", Arq);
if(Arq == NULL)
return 0;
else
return 1;
}
void fechaArquivo(FILE *Arq){
fclose(Arq);
}
int main()
{
char S1[50], inf[50];
struct PESSOA Povo[10], P;
FILE *Arq;
int i;
leNomeArquivoEntrada(S1);
printf("Na main antes da bertura %d \n", Arq);
if(abreArquivoEntrada(Arq, S1) == 1){
printf("Na main %d \n", Arq);
fscanf(Arq,"%s", &P.nome);
fscanf(Arq,"%d", &P.idade);
fscanf(Arq,"%f", &P.altura);
printf("%s \n", P.nome);
printf("%d \n", P.idade);
printf("%f \n", P.altura);
fechaArquivo(Arq);
}
else printf("Erro na abertura do arquivo");
return 0;
}