PDA

Visualizza la versione completa : [C++] Leggere più righe


Squall1988
29-03-2005, 16:40
Volevo realizzare in C++ una cosa che in pratica legge una stringa, però lo fa anche su più righe.
Non si ferma al termine della riga ma quando si preme una determinata combinazione, esempio CTRL+C.

Nel TurboC c'era getche() che leggeva un carattere alla volta, quindi potevo rilevare i caratteri estesi correttametne, ma lavorando in DevC++ o VisualC++ questa funzione non esiste.

C'è qualche altra soluzione??

Johnny_Depp
29-03-2005, 16:56
in DevC++, per utilizzare getche() devi includere <conio.h>
in VisualC++ mi pare che la funzione si chiami _getche()
ed è sempre definita in <conio.h>

Squall1988
30-03-2005, 13:29
mi sa ke il mio dev è tutto schifato non conosce ne getche ne _getche.

In visual ho scritto questo codice


#include <iostream.h>
#include <conio.h>

int main()
{
char str[500];

for (int i = 0; ; i ++)
{
str[i] = _getche ();
}

return 0;

}

tralasciando il loop infinito ke poi lo gestisco, mi si schif con alcuni caratteri, cioè se premo invio va all'inizio della riga corrente e sovrascrive tutto e il backspace non cancella il carattere ma si sposta solo indietro.

cm fare?? :dhò:

Squall1988
30-03-2005, 21:30
??

Johnny_Depp
30-03-2005, 21:52
probabilmente la tua versione di DevC++ non riconosce <conio.h> ma <conio.c>

p.s. non ti ho risposto perchè deduco che non sia questo il problema...

prova a postare il file .txt che devi leggere
o al limite caricalo in qualche spazio web, e metti il link per scaricarlo... così capiamo meglio cosa intendi fare da C/C++

Squall1988
30-03-2005, 21:58
ah no ma forse nn m sn spiegato bene :E

la parte di lettura viene dopo, io
per il momento
vorrei solamente leggere con cin o getche() una stringa che non sta su una riga sola, ma anche su più righe.

Poi alla fine devo salvarla su un file perché se uno vuole modificarla deve poterlo fare (e già ho il terrore per come stampare una cosa modificabile).

Una specie di textbox insomma.

Loading