/* Variante di prova_getchar2file1.c nella quale la scrittura sul file viene fatta in un solo colpo con fputs() (Attenzione: vale l'avvertenza messa nell'altro file sulla mancanza del controllo del numero di caratteri immagazzinati in v[]) */ #include #include #include int main() { int i, nc=0; char c, v[1000]; char nomeFile[50]; FILE *fp; printf("Dai il nome del file su cui andare a inserire quanto scrivi: "); scanf("%s", nomeFile); printf("Scriverò su %s ", nomeFile); printf("cancellando il contenuto precedente se il file esisteva (!)\n"); printf("scrivi dei caratteri e termina con Ctrl-d ('EOF')\n"); while ( ( c = getchar() ) != EOF) { v[nc] = c; nc++; } v[nc] = 0; printf("\n %d caratteri letti\n", nc); fp = fopen(nomeFile, "w"); fputs(v, fp); printf("\n %lu caratteri scritti\n", strlen(v)); fclose(fp); return 0; }