lunedì 4 marzo 2013

C - Apertura, scrittura e lettura file binari

In questo esercizio si crea un file binario, si scrive su di esso un intero e una stringa tramite fwrite, si legge e si stampa a schermo il suo contenuto tramite fread.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void scrivi_int(FILE *f, int n){
fwrite(&n, 1, sizeof(int), f);
}

void scrivi_char(FILE *f, char *mess){
fwrite(&mess, 1, sizeof(char)*strlen(mess), f);
}

void stampafile(FILE *f, char *mess){
int num;
char *temp;
if((f = fopen("dati.bin", "rb")) == NULL)
fprintf(stderr, "Errore apertura file\n");
fread(&num, sizeof(int), 1, f);
printf("%d", num);
fread(&temp, sizeof(char)*strlen(mess), 1, f);
printf("\n%s", temp);
fclose(f);
scanf("%d");
}

int main(){
FILE *f;
int n = 100;     /*in ascii è il carattere d*/
char mess[] = "Hello World!";

if((f = fopen("dati.bin", "wb")) == NULL)
fprintf(stderr, "Errore apertura file\n");
scrivi_int(f, n);
scrivi_char(f, mess);
fclose(f);
stampafile(f, mess);
}

Nessun commento:

Posta un commento