#include void main(int argc, char * argv[]) { FILE * archivefile; char buffer1[1000]; char buffer2[1000]; if(argc==2) { if(!strcmp(argv[1],"list")) { archivefile=fopen("archivio.dat","r"); if(archivefile==NULL) { printf("Impossibile aprire in lettura il file di archivio\n"); return; } while(!feof(archivefile)) { if(fgets(buffer1, 999, archivefile)==NULL) break; if(fgets(buffer2, 999, archivefile)==NULL) break; buffer1[strlen(buffer1)-1]='\0'; /* elimina il \n */ printf("%s:%s\n",buffer1,buffer2); } return; } } else if(argc==3) { if(!strcmp(argv[1],"get")) { archivefile=fopen("archivio.dat","r"); while(!feof(archivefile)) { if(fgets(buffer1, 999, archivefile)==NULL) break; if(fgets(buffer2, 999, archivefile)==NULL) break; buffer1[strlen(buffer1)-1]='\0'; /* elimina il \n */ if(!strcmp(buffer1, argv[2])) { printf("%s\n",buffer2); return; } } printf("Non trovato in archivio\n"); return; } } else if(argc==4) { if(!strcmp(argv[1], "add")) { archivefile=fopen("archivio.dat","r+"); if(archivefile==NULL) { archivefile=fopen("archivio.dat", "w"); } fseek(archivefile, 0, SEEK_END); fprintf(archivefile, "%s\n%s\n", argv[2], argv[3]); fclose(archivefile); return; } } printf("Sintassi: ARCHIVIO list mostra contenuto archivio\n"); printf(" ARCHIVIO add chiave valore aggiunge dati all'archivio\n"); printf(" ARCHIVIO get chiave recupera dati da archivio\n"); }