Grazie del chiarimentoma cosa devo fare se voglio rimanere in ambiente C
(anche non usando lo scanf)?
Grazie mille per tua disponibilità!:gren:
Grazie del chiarimentoma cosa devo fare se voglio rimanere in ambiente C
(anche non usando lo scanf)?
Grazie mille per tua disponibilità!:gren:
La risposta del "perchè" te l'ha data Piero, il "come rimediare" te lo dico ioOriginariamente inviato da Mazax
Grazie del chiarimentoma cosa devo fare se voglio rimanere in ambiente C
(anche non usando lo scanf)?
Grazie mille per tua disponibilità!:gren:, dovresti usare una funzione come "gets(stringa)", però il problema che questa funzione non ti controlla il limite dell'array e rischi di provocare un buffer overflow, uno sconfinamento di memoria, al proposito ti rimando ad un 3d che avevo aperto io non molto tempo fa, lo trovi quì.
Comunque per farti un semplice esempio pratico ti riporto questo piccolo programma di esempio:
codice:#include <stdio.h> #define N 50 main() { char stringa[N]; printf("\nInserire una stringa di non più di 50 caratteri: "); fgets(stringa, N, stdin); printf("\nLa stringa inserita è: %s\n", stringa); }
Se avessi usato "gets(stringa)" non avresti dovuto mettere come parametri lo stream (stdin) e, sopratutto, la lunghezza della stringa (nel nostro caso definita da "N") e questo avrebbe potuto provocare un overflow nel caso la stringa fosse stata più lunga dei 50 caratteri, capito?![]()
Powered by Slack Current - Kernel 2.6.22
Slackware Evangelist
My LUG (Linux User Group): LinuxVar (LUG di Varese)
PS: se usi Linux fai un bel "man fgets" alla console, è una paginetta di manuale proprio su "fgets".
Powered by Slack Current - Kernel 2.6.22
Slackware Evangelist
My LUG (Linux User Group): LinuxVar (LUG di Varese)
Non vorrei scivolare fuori dal 3D, comunque la cosa migliore da fare è realizzare delle classi. Questo esce dal C, ma per entrare nel C++, che direi è una cosa piuttosto indispensabile per far qualcosa di carino senza impazzire (non dico che non si possa in C puro, ma è veramente più semplice in C++)
Per la cronaca, il mio primo vero esercizio di programmazione ad oggetti è stato proprio questo: progettare una serie di classi per l'inserimento di dati ed altre amenità, prima in testo (DOS, Borland Pascal 7 OO) e poi in grafica BGI (DOS, Borland C++ 3.1).
Se ti interessa il C++ te li passo. Sono cose un po' datate (1992-1994) ma tutto sommato buone per imparare.
Anche in privato
Originariamente inviato da Mazax
Grazie del chiarimentoma cosa devo fare se voglio rimanere in ambiente C
(anche non usando lo scanf)?
Grazie mille per tua disponibilità!:gren:
Che il pelo cresca sempre fluente sui vostri piedi
Bilbo
Visita il sito della Società Tolkieniana Italiana
Sono d'accordo con te Piero, però io conosco a malapena il C (per adesso) e ho postato la soluzione per tale linguaggio, vorrà dire che tra un po, quando avrò finito di studiare il C e passerò al C++, ti romperò le scatole
![]()
(beh.... non solo a te penso)
Powered by Slack Current - Kernel 2.6.22
Slackware Evangelist
My LUG (Linux User Group): LinuxVar (LUG di Varese)
Volevo solamente ringraziare tutti quanti per la disponibilità che avete dimostrato. Grazie Mille dell'aiuto!:gren:
P.S: una cosa che non centra con la discussione, come si fa a mettere la propria immagine vicino a ogni risposta? Grazie![]()