Hmm, wenn du
Code:
if(Eingabe.get(zeichen) != 0)
cout << zeichen;
verwendest funktioniert es

Warum es mit nur while nicht funzt, kann ich nicht wirklich erklären, vermute nur dass die Datei nach dem Lesen des letzten Zeichens halt noch nicht eof ist, sondern erst eines später, deshalb wird das letzte Zeichen doppelt ausgegeben ( get schlägt fehl und zeichen bleibt unverändert ).
VS = Visual Studio
