Leerzeichen in C identifizieren und lesen
Eingabe- und Ausgabevorgänge in C folgen bestimmten Regeln für Leerzeichen. Standardmäßig ignorieren die Stream-Manipulatoren cin und cout Leerzeichen beim Lesen oder Schreiben von Daten. Dies kann beim Versuch, Leerzeichen gezielt zu erfassen, zu Schwierigkeiten führen.
Im bereitgestellten Codeausschnitt:
int main() { char a[10]; for (int i = 0; i < 10; i++) { cin >> a[i]; if (a[i] == ' ') cout << "It is a space!!!" << endl; } return 0; }
Das Programm ignoriert Leerzeichen bei der Eingabe. Um dieses Problem zu beheben, ziehen Sie die folgenden Ansätze in Betracht:
Verwendung des noskipws-Manipulators:
Dieser Manipulator deaktiviert das standardmäßige Verhalten beim Überspringen von Leerzeichen:
cin >> noskipws >> a[i];
Verwenden der Funktion cin.get():
Diese Funktion liest Zeichen aus dem Eingabepuffer, einschließlich Leerzeichen:
cin.get(a, n);
wobei n die Anzahl der zu lesenden Zeichen ist.
Hinweis: cin.get() stoppt den Lesevorgang Zeichen, wenn ein Zeilenumbruch auftritt oder das angegebene Limit erreicht wird. Es hängt ein Nullzeichen ( ) an das Array an, um die Zeichenfolge zu beenden.
Weitere Informationen zu Eingabe- und Ausgabevorgängen finden Sie in der Dokumentation zu den Schnittstellen std::cin und std::cout.
Das obige ist der detaillierte Inhalt vonWie kann ich Leerzeichen in der C-Eingabe lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!