Het volgende probleem.
Ik ben bezig met het programmeren van een shell (voor Linux).
Opzich begint alles goed vorm te krijgen (Pipen etc) gaat allemaal al redelijk goed.
Zoals nu lees ik gewoon een complete regel in en die ga ik hierna parsen.
Wat ik nu wil is het volgende.
Ik wil dat als ik pijltje omhoog of omlaag doe, dat ik door de voorgaande commando's kan wandelen.
Ik kan dit niet voor elkaar krijgen. Ik had zelf zo iets gedacht om per character input te lezen, en dan gewoon kijken of dit pijltje omhoog/omlaag is.
Opzich het lezen per character in C++ is geen probleem alleen moet je telkens wel een enter geven voordat hij verder gaat.
Hier stukje Pseudo code zoals ik denk dat het moet worden:
Ik ben bezig met het programmeren van een shell (voor Linux).
Opzich begint alles goed vorm te krijgen (Pipen etc) gaat allemaal al redelijk goed.
Zoals nu lees ik gewoon een complete regel in en die ga ik hierna parsen.
Wat ik nu wil is het volgende.
Ik wil dat als ik pijltje omhoog of omlaag doe, dat ik door de voorgaande commando's kan wandelen.
Ik kan dit niet voor elkaar krijgen. Ik had zelf zo iets gedacht om per character input te lezen, en dan gewoon kijken of dit pijltje omhoog/omlaag is.
Opzich het lezen per character in C++ is geen probleem alleen moet je telkens wel een enter geven voordat hij verder gaat.
Hier stukje Pseudo code zoals ik denk dat het moet worden:
code:
1
2
3
4
5
6
7
8
9
| invoerTeller = 0;
Doe totdat inputchar != enter
wacht op invoer van het toetsenbord (1 teken en ga dan verder) ///DEZE REGEL KAN IK NIET VOOR ELKAAR KRIJGEN !!!
Als invoer is pijltje omhoog geef vorig commandoregel
Als invoer is pijltje omlaag geef volgend commandregel
anders
tmpBuffer[invoerteller] = gegeven character
verhoog invoerTeller |