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
Antwort
(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 ;-)
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
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
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. –
Ist es von Ihrer Eingabe oder von Ihrer Ausgabe? – Bauss
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? –