PDA

View Full Version : File di testo


halemk
30-12-2012, 15:32
Salve a tutti, come da oggetto, ho un problema riguardante l'utilizzo dei file di testo.
Il testo del programma è il seguente:

Scrivere un programma per inizializzare il tabellone (10x10) del campo minato con 10 bombe la cui posizione viene letta da file di testo (formato: riga, colonna, riga, colonna, ecc)

La mia porzione di codice è la seguente:

#include <stdio.h>

/* costanti */

#define NR 10 /* Numero righe */
#define NC 10 /* Numero colonne */

/* prototipi */

int main()
{
FILE *fbomb; /* File dove sono contenute le bombe */
fbomb=fopen("bombe.txt","r"); /* Apro il file in sola lettura */
if(fbomb == NULL)
{
printf("Errore nell'apertura del file");
return 1;
}
char vett[NR][NC]; /* Array 2D di caratteri con 10 righe e 10 colonne */
carica(fbomb,vett); /* Procedura che carica nell'array 2D la posizione delle bombe */
fclose(fbomb);
return 0;

}

void carica(FILE *f,char v[][NC])
{
int rig,col; /*Variabili dove memorizzero riga e colonna */
/* E' necessario portare l'indicatore del file all'inizio? */
fseek(f,1,SEEK_SET);
while(fscanf(f,"%d",&rig)!=EOF) /* Leggo un elemento, riga e lo memorizzo dentro rig */
fscanf(f,"%d",&col)!=EOF) /* Leggo il secondo elemento,colonna, e lo memorizzo dentro col */
v[rig][col]='X'; /* Ora dentro rig e dentro col ho le coordinate in cui la X deve comparire all'interno dell'array2d */
}



Non ho capito bene come operare con i file di testo sopratutto con fscanf.Potreste darmi una mano?

Ringrazio e porgo i migliori auguri per un buon anno nuovo.

Andrea