Heim >Backend-Entwicklung >C++ >Wie erfasst man Leerzeichen in C-Eingabestreams?

Wie erfasst man Leerzeichen in C-Eingabestreams?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-29 02:19:09940Durchsuche

How to Capture Space Characters in C   Input Streams?

Leerzeichen in C erfassen

In C überspringt der Cin-Stream standardmäßig Leerzeichen (wie Leerzeichen, Tabulatoren und Zeilenumbrüche). . Wenn Sie versuchen, mit cin ein Leerzeichen direkt aus der Standardeingabe zu lesen, ignoriert das Programm es.

Lösung 1: Verwendung von noskipws

Um dieses Verhalten zu ändern, müssen Sie kann den Manipulator noskipws verwenden, der das Überspringen von Leerzeichen deaktiviert.

cin >> noskipws >> a[i];

Mit diesem Manipulator liest cin das Leerzeichen zusammen mit anderen Zeichen.

Lösung 2: Verwenden von get

Alternativ können Sie die get-Funktion verwenden, um Zeichen aus dem Eingabestream zu lesen. Mit dieser Funktion können Sie einen Puffer angeben, in den die Zeichen gelesen werden.

cin.get(a, n);

In diesem Fall liest get bis zu n-1 Zeichen in das Array a und hängt ein Nullzeichen ( ) an das an Ende des Arrays. Der Lesevorgang wird beendet, wenn ein Zeilenumbruchzeichen (n) vor n-1 Zeichen gefunden wird.

Durch die Verwendung von noskipws oder get können Sie Leerzeichen aus der Standardeingabe effektiv erfassen. Die Wahl zwischen den beiden Methoden hängt von den spezifischen Anforderungen Ihres Programms ab.

Das obige ist der detaillierte Inhalt vonWie erfasst man Leerzeichen in C-Eingabestreams?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn