Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

[C++] std::cin e Input predefinito

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

[C++] std::cin e Input predefinito

Messaggioda M@ttia » mar gen 17, 2006 10:17 pm

In un programma c++ (a linea di comando) per far inserire parametri all'utente , su cui io voglio dare un consiglio, utilizzo la classica struttura:
Codice: Seleziona tutto
int Numero;
std::cout << "Inserisci un Numero (Suggerimento: inserisci 8): ";
std::cin >> Numero;


Tuttavia mi chiedevo se non esistesse un modo (la sintassi) per far sì che all'apparire di un std::cin >>, anziché visualizzarsi il cursore lampeggiante e basta che aspetta che io scriva qualcosa, appaia già direttamente digitato quello che io vorrei fosse l'input, così che se l'utente accetta il consiglio praticamente preme solo enter, altrimenti cancella quello che appare già e scrive il suo imput: qual è la sintassi???

P.S. Se non si è capito il problema io cercherei una struttura tipo (inventata):
Codice: Seleziona tutto
std::cin(default = 8) >> Numero;

Thx! [^]
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda Shagrath » gio gen 26, 2006 1:00 pm

Immagino che tu stia lavorando in ambiente Win...
comunque, conosco poco il C++, ma conosco piuttosto bene il C, soprattuto in ambiente Linux, quindi provo a descrivere cosa farei su Linux, magari ti da un idea anche x l'ambiente Win.

Una premessa: in linux, ogni processo (quindi anche il tuo programma) può scrivere/leggere dagli standard file (std_input, std_output, std_error), basta passare alle funzioni write(...) e read(...) il descrittore di un file standard invece che di un file creato da te. Un puntatore punta alla posizione dopo l'ultimo carattere inserito nel file...la funzione lseek(..) ti permette di spostarlo a tuo piacimento.

Potresti provare scrivere la stringa "inserire un numero:" normalmente (quindi sullo standard output), poi potresti provare a scrivere il suggerimento sullo standard input...
La funzione che va a leggere lo standard input, alla pressione dell'invio, dovrebbe leggere il tuo suggerimento..l'unico dubbio è su come sovrascrivere con un input da tastiera..se riesci a scrivere una condizione tale x cui se l'utente digita qualcosa lo standard input viene sovrascritto, hai risolto il problema...

In ambiente linux, col buon vecchio C, non dovrebbe essere complicato...In Win dovresti vedere se è possibile fare questo tipo di operazioni, se è possibile maneggiare direttamente std input e output..Sinceramente non saprei...
C'è sempre una soluzione...
Avatar utente
Shagrath
Senior Member
Senior Member
 
Messaggi: 261
Iscritto il: mar mar 29, 2005 8:54 pm

Messaggioda M@ttia » gio gen 26, 2006 3:46 pm

Ciao, grazie x la risposta: dunque io sono su Linux (Debian) usando emacs, quindi vai tranquillo [8D] (ev. su windows uso cygwin che mi emula linux, quindi il compilatore `e il medesimo...).
Avatar utente
M@ttia
Moderatore
Moderatore
 
Messaggi: 8363
Iscritto il: lun giu 09, 2003 2:18 pm
Località: Ticino - Estero

Messaggioda Shagrath » dom gen 29, 2006 7:00 pm

Figurati, piuttosto sarei curioso di sapere se si riesce a fare, visto che non ho un secondo di tempo per provare...
Fammi sapere se e come ci sei riuscito...

Grazie!
C'è sempre una soluzione...
Avatar utente
Shagrath
Senior Member
Senior Member
 
Messaggi: 261
Iscritto il: mar mar 29, 2005 8:54 pm


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising