AldoBaldo ha scritto:
La catena degli indovinelli si allunga! E vai!
Dunque, risalgo alla lettura dell'Ulisse di Joyce (ai tempi del liceo - che mattone!) per ricordare lo stream of consciousness, ovvero il flusso della consapevolezza, del pensiero cosciente. Stream = Flusso. Tsè, che sfoggio di cultura!
Ripensando a Joyce e al suo insostenibile tomo, preferivo la mia ipotesi iniziale, sai, quella della fi-gets()...
Acqua.
Tra l'altro l'ho scritto sopra.
Bene, facendo finta di volersi un pochino elevare dal livello medio forummistico, bisognerebbe avere una vaga idea di cosa fanno le funzioni in generale.
A sostituire fscanf è stata consigliata fgets.
Normalmente si saprebbe benissimo cos'è fscanf, cos'è fgets eccetera.
Non è questo il caso.
Allora mi chiedo: cosa sarà mai la "f" della funzione?
"anticamente" stava per file (non f..a), "oggi" sta per stream (che grosso modo è la stessa cosa, ma fa più fico).
Ebbene, cos'è uno stream (o un file) ?
Bisognerebbe saperlo.
Ma perchè?
Perchè in questo caso vuoi usare una funzione per STREAM per gestire la CONSOLE.
Non c'è nulla di male in questo, ma uno STREAM non è una CONSOLE (non per videogiochi).
Ebbene ti sei mai chiesto cosa sia il mitico stdin ?
E, soprattutto, [prima domanda che ho posto] cosa succede se premi il tasto BACKSPACE sulla CONSOLE e con fgets ?
Risposte possibili
- non mi interessa, tanto programmare è facile
- non mi interessa, tanto sembra funzionare
- non mi interessa, tanto sono un dilettante
- boh, provo a vedere e mi dumpo un carattere alla volta la stringa
- boh, leggo la documentazione
- boh, leggo la documentazione e provo comunque a vedere come funziona
- boh, sono un fanatico e mi vado a leggere il sorgente dell'implementazione della funzione, poi leggo la documentazione, provo comunque a vedere cosa succede
- niente di tutto questo, tanto programmare è facile.