Salve a tutti. Da buon principiante ho fatto il mio primo piccolo e semplice programmino:

codice:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

#define ELENCO 100 /* mi serve per vedere l'elenco con la scelta 2*/

/* struttura di esempio */
struct dati
{
     int codice;
     char cognome[40];
     char nome[40];
     char cfs[17]; /*per il codice fiscale*/
     char ddn[11]; /*per la data di nascita*/
} anagraf;

int main(int argc, char *argv[])
{
      char opfilename[] = "/home/raoul/esempio.txt"; /*per aprire il file*/
      FILE *opfp;
      struct tm *newtime; /*per scrivermi il tempo di memoriz. del record/*
       time_t aclock;
       
       int selection; /*variabile per il menù*/

       for( ; ; ) /*mi apro un ciclo infinito*/
       {
                   printf("\n1 - aggiunge un record");
                   printf("\n2 - visualizza elenco");
                   printf("\n3 - esci dal programma");
                   scanf("%d", &selection);

                   if (selection < 1 || selection > 3) /*limito la scelta al menu*/
                    {
                       printf("\nInserire solo da 1 a 3!!");
                    }
                    else if(selection == 3)
                    {
                            printf("\nArrivederci!!\n");
                             break;
                    }
                    else if(selection == 1)
                    {
                             printf("\nInserire codice per record: ");
                             scanf("%d", &anagraf.codice);
                             printf("\nInserire Cognome: ");
                             scanf("%s", anagraf.cognome);
                             printf("\nInserire Nome: ");
                             scanf("%s", anagraf.nome);
                             printf("\nInserire Codice Fiscale: ");
                             scanf("%s", anagraf.cfs);
                             printf("\nInserire data di nascita(gg-mm-aaa): ");
                             scanf("%s", anagraf.ddn);
/*mi apro il file per scriverci i dati*/
                    opfp = fopen(opfilename, "a+");
/*metto anche il "tempo" di registrazione del record*/
                     time (&aclock);
                     newtime = localtime(&aclock);

/*scrivo sul file che ho aperto*/
                     fprintf(opfp, "%d\t %s\t %s\t\t %s\t %s\t\n", anagraf.codice, anagraf.cognome, anagraf.nome, anagraf.cfs, anagraf.ddn, asctime(newtime));

/*dopo aver scritto chiudo il file*/
                     fclose (opfp);
                     }/*termine dell'if per la scelta 1*/

                     else if( selection == 2 )
                     {
                        char ind[ELENCO];
                        opfp = fopen(rfilename, "r"); /*apro il file per leggere i record*/
                        while( !feof(opfp) )/*fin quando no arrivo alla fine del file*/
                         {
                            fgets(ind, ELENCO, opfp);
                            printf("%s", ind);
                         }

                         fclose(opfp);
                       }
             }/*chiusura del ciclo for*/
}/*fine main*/
Ora, il suggerimento che mi servirebbe, è di crearmi un'altra funzioncina che mi permetta di fare una ricerca nel file, ad esempio di cercare per cognome o nome.

E, l'ultima cosa, di fare un controllo che mi permetta, al momento dell'inserimento, di indicarmi se un nominativo già esiste oppure no: es.: inserisco "RaouL", se esiste già mi dovrebbe dire na cosa tipo: "Record già esistente".

Thx. RaouL.