Oppure

Loading
19/12/08 17:48
K2
Salve a tutti. Ho un piccolo problemino con un programma che sto facendo per esercitarmi.
Il debug mi segnala errore nella dichiarazione del puntatore al file: 'p' undeclered.
Ecco qua il codice
#include <stdio.h>
#include <stdlib.h>
#define FILE "prova.txt"

int main()
{
     struct {
            char nome[20];
            char cognome[20];
            char citta[20];
            int anni[10];
            }dati;
    printf("Inserici il nome:");
    scanf("%s\n\n", dati.nome);
    printf("Inserisci il cognome:");
    scanf("%s\n\n", dati.cognome);
    printf("Inserisci dove abiti:");
    scanf("%s\n\n", dati.citta);
    printf("Inserisci la tua eta':");
    scanf("%s\n\n", dati.anni);
    FILE *p;
    p = fopen(FILE, "w");
    if(!p)
    printf("Non riesco ad aprire il file %s", FILE);
    fprintf(p, "%s\t\t%s\n\n%s\t\t%s\n\n", dati.nome, dati.cognome, dati.citta, dati.anni);
    return 0;
}
aaa
19/12/08 18:15
mc
Le dichiarazioni in C vanno fatte all'inizio di ogni blocco.
Oltretutto la definizione del tipo struct andrebbe fatta fuori della funzione main.
aaa
19/12/08 18:17
mc
È soprattutto non puoi chiamare la macro FILE.
FILE è un nome di tipo di variabile già usato dalla libreria standard.
Chiamalo FILE_ oppure FILENAME.
aaa
19/12/08 18:50
K2
Porca miseria, faccio ancora questi stupidi errori :-o.
Ho utilizzato una keyword per dichiarare una variabile, adesso ho cambiato il nome della costante e va bene. Grazie mille!
aaa