Leggere e scrivere files in C

di il
12 risposte

Leggere e scrivere files in C

Buonasera a tutti, questo è un programma per leggere e scrivere files direttamente in binario. Il compilatore non da errori, solo che non mi da un output ciò che chiedo. Qualcuno potrebbe indicarmi uno dei possibili motivi?
Grazie.


#include <stdio.h>
#include <stdlib.h>
#define N_OF_ELEM 10

typedef struct
{
int a;
float b;
double c;
} myStruct_T;

void write_file(char *fileName)
{
FILE *fp=NULL;
myStruct_T ms_loc[N_OF_ELEM];
int i=0;
fp = fopen(fileName, "wb");
if(fp!=NULL)
{
for(i=0;i<N_OF_ELEM;i++)
{
ms_loc.a=i;
ms_loc.b=i*i;
ms_loc.c= (i+i)/100.00;
}
fwrite(ms_loc, sizeof(myStruct_T),N_OF_ELEM, fp);
fclose(fp);
}
}

void read_file(char *fileName)
{
FILE *fp= NULL;
myStruct_T ms_loc[N_OF_ELEM];
int i=0;
fp= fopen(fileName, "rb");
if( fp!=NULL)
{
fread(ms_loc, sizeof(myStruct_T),N_OF_ELEM,fp);
for(i=0;i<N_OF_ELEM;i++)
{
printf("%d - %f - %f\n", ms_loc.a,ms_loc.b,ms_loc.c);
}
fclose(fp);
}
}*/

int main()
{
}

12 Risposte

  • Re: Leggere e scrivere files in C

    Usa i tag code o il codice non si capisce
  • Re: Leggere e scrivere files in C

    Oregon come posso fare per importare il codice direttamente?
  • Re: Leggere e scrivere files in C

     #include <stdio.h>
    #include <stdlib.h>
    #define N_OF_ELEM 10
    
    typedef struct {
    	int a;
    	float b;
    	double c;
    } myStruct_T;
    
    void write_file(char *fileName)
    {
    	FILE *fp = NULL;
    	myStruct_T ms_loc[N_OF_ELEM];
    	int i = 0;
    	fp = fopen(fileName, "wb");
    	if (fp != NULL)
    	{
    		for (i = 0; i < N_OF_ELEM; i++)
    		{
    			ms_loc[i].a = i;
    			ms_loc[i].b = i * i;
    			ms_loc[i].c = (i + i) / 100.00;
    		}
    		fwrite(ms_loc, sizeof(myStruct_T), N_OF_ELEM, fp);
    		fclose(fp);
    	}
    }
    
    void read_file(char *fileName)
    {
    	FILE *fp = NULL;
    	myStruct_T ms_loc[N_OF_ELEM];
    	int i = 0;
    	fp = fopen(fileName, "rb");
    	if (fp != NULL)
    	{
    		fread(ms_loc, sizeof(myStruct_T), N_OF_ELEM, fp);
    		for (i = 0; i < N_OF_ELEM; i++)
    		{
    			printf("%d - %f - %f\n", ms_loc[i].a, ms_loc[i].b, ms_loc[i].c);
    		}
    		fclose(fp);
    	}
    }
    
    int main()
    {
    
    }
  • Re: Leggere e scrivere files in C

    Ma nel main non c'è codice??
  • Re: Leggere e scrivere files in C

    No, il mio dubbio è proprio cosa mettere nel main. Infatti se mando in run il codice non mi visualizza niente. Ho pensato di richiamare le due funzioni nel main ma non succede nulla.
  • Re: Leggere e scrivere files in C

    Ma il codice l'hai scritto ru o l'hai copiato? È ovvio cge devi chiamare le funzioni prima la scrittura e poi la lettura passando i parametri corretti
  • Re: Leggere e scrivere files in C

    Non l'ho scritto io, ma c'è la parte del main e volevo capire un pò come gestirla
  • Re: Leggere e scrivere files in C

    Ti ho scritto cosa fare. Ma lo devi provare tu
  • Re: Leggere e scrivere files in C

    
    int main() {
        int c=0;
    	FILE *fp_r=NULL;
    	fp_r = fopen("example.txt",w);
    	if(fp_r!=NULL)
            { 
    		while ((c=getc(fp_r))!= EOF) {
    			write_file(example.txt);
    		}
       fclose(fp_r);
       retturn 0;
    }
    	return -1;
    }
    Ho provato a creare un codice che mi apre il file per la scrittura ma mi da diversi errori
  • Re: Leggere e scrivere files in C

    Ma perché altro codice se puoi usare quelle funzioni?
  • Re: Leggere e scrivere files in C

    Ma in che modo posso richiamare le funzioni ?
  • Re: Leggere e scrivere files in C

    Come si richiamano le funzioni in C? Questo è un forum non la scuola. Per le nozioni di baae devi studiare dai libri.

    P.S
    Sul forum NON si scrivono gli esercizi. Vedi regolamento.
Devi accedere o registrarti per scrivere nel forum
12 risposte