Hilfe bei Eingabe

partitionist

Erfahrenes Mitglied
SO ich hab alles ausprobiert, komme aber nicht dahinter, also meine Frage: Was muss ich verändern, dass wenn ich Enter drücke die Pfeile wieder auftauchen und keine leere Zeile.

Code:
  #include <string>
  #include <iostream>
  #include <stdlib.h>
  
  #define EXIT "exit"
  
  using namespace std;
  
  void Pfeil()
  {
  	cout << ">> ";
  }
  
  int main()
  {
  	string Input;
  
  	do
  	{
  
  		Pfeil();
  		cin >> Input;
  
  		if(Input == "test")
  		{
  			cout << "TEST" << endl << endl;
  		}
  
  		else if(Input == LEERE EINGABE)
  		{
  			Pfeil();
  		}
  		........
  
  	}while(Input != EXIT);
  
  
  return 0;
  }
 
Ich möchte es so wie bei CMD machen, wenn man nichts eingibt und Enter drückt wird der Pfad wieder ausgegeben und das will ich in meinem Programm auch machen nur ich weiß nicht wie.
Bitte Helfen
 
moin


Hab dir das jetzt mal so geändert, wie ich denke das du es möchtest:
Code:
#include <string>
#include <iostream>
#include <stdlib.h>

#define EXIT "exit"

using namespace std;

void Pfeil()
{
	cout << ">> ";
}

int main()
{
	string Input;
	char dummy;

	Pfeil();

	do
	{
		cin.get(dummy);
		if(dummy != '\n')
		{
                        cin>> Input;
			Input.insert(0, dummy);
		}

		if(Input == "test")
		{
			cout << "TEST" << endl << endl;
		}

		if(Input.length() == NULL)
		{
			Pfeil();
		}

		if(Input == "EXIT")
			break;

		//Nötig!
		dummy = '\0';
		Input.clear();
	}
	while(1);

	return 0;
}


mfg
umbrasaxum
 
Ok also es geht nur wenn ich erase() mir clear() ersetzte da der Compiler mekert wegen:
'clear' : Ist kein Element von 'basic_string<char,struct std::char_traits<char>,class std::allocator<char>

Ist das ein Unterschied erase(), clear() und funktioniert es bei dir mit clear()?
 
THX aber es reicht auch Input.erase(), aber zu meiner Frage: Wenn ich ein Buchstabe eingebe werden die Pfeile nicht ausgegeben woran liegt das
 
Zurück