2016-08-09 42 views
0

Ich schreibe ein Programm in D, die keine GUI benötigt. Ich erinnere mich, dass es in C++ eine Möglichkeit gab, eine Anzahl von Zeichen von der Konsole/dem Terminal zu entfernen, aber ich weiß nicht, wie man das in D macht. Wie entferne ich eine Anzahl von Zeichen von der Konsole/dem Terminal?Entfernen Sie n Zeichen aus der Konsole

+0

können Sie die 'readln' Funktion verwenden, um eine Zeile zu erhalten, dann einige Zeichen abschneiden .... was Sie sonst noch brauchen, gibt es viele verschiedene Möglichkeiten, es zu tun. –

+0

Ist es von Ihrer Eingabe oder von Ihrer Ausgabe? – Bauss

+1

Meinst du, dass Sie die eingegebenen Zeichen aus der Konsole entfernen möchten, so dass, wenn der Benutzer Hallo Welt eingegeben hat, Sie es ändern könnten, so dass es dann hallo w auf der Konsole anstelle von hallo Welt zeigte? –

Antwort

1

(Dies passte nicht in einen Kommentar und ich denke, es ist das, was Sie sich beziehen)

Haben Sie getchar bedeuten? Sie haben direkten Zugriff auf die gesamte Standard-C-Bibliothek in D. Zum Beispiel einen Blick auf dieses einfache Skript:

void main() 
{ 
    import core.stdc.stdio : getchar; 
    foreach(i; 0..3) 
     getchar(); 

    import std.stdio; 
    writeln(readln()); 
} 

Wenn Sie & dieses Skript kompilieren ausführen (zB hier mit rdmd)

echo "Hello world" | rdmd main.d 

es würde drucken:

lo world 

Aber ich habe mit Adam vereinbaren, dass nur readln Schneiden einfacher ist, und sieht besser aus ;-)

+0

Das ist, was ich wollte, aber das entfernt sie von Anfang an, aber ich möchte sie vom Ende entfernen. P.S .: Entschuldigung für die sehr späte Antwort. – Nafees

+1

Wenn Sie sie vom Ende entfernen möchten, müssen Sie wahrscheinlich die gesamte Eingabe lesen und dann in Scheiben schneiden, wie die Kommentare zu Ihrer Frage zeigen. – greenify