while-Anweisung (C++)
Führt Anweisung so lange aus, bis Ausdruck mit Null ausgewertet wird.
while ( expression )
statement
Hinweise
Der Ausdruck wird vor jeder Ausführung der Schleife getestet. Deshalb wird eine while-Schleife nie oder mehrmals ausgeführt. Ausdruck muss ein Ganzzahltyp, ein Zeigertyp oder ein Klassentyp mit einer eindeutigen Konvertierung in einen Ganzzahl- oder Zeigertyp sein.
Eine while-Schleife kann auch beendet werden, wenn innerhalb des Anweisungstexts break, goto oder return ausgeführt wird. Verwenden Sie continue zum Beenden der aktuelle Iteration, ohne auch die while-Schleife zu beenden. Mit continue wird die Steuerung an die nächste Iteration der while-Schleife übergeben.
Im folgenden Code wird eine while-Schleife verwendet, um nachstehende Unterstriche von einer Zeichenfolge abzuschneiden:
// while_statement.cpp
#include <string.h>
#include <stdio.h>
char *trim( char *szSource )
{
char *pszEOS = 0;
// Set pointer to character before terminating NULL
pszEOS = szSource + strlen( szSource ) - 1;
// iterate backwards until non '_' is found
while( (pszEOS >= szSource) && (*pszEOS == '_') )
*pszEOS-- = '\0';
return szSource;
}
int main()
{
char szbuf[] = "12345_____";
printf_s("\nBefore trim: %s", szbuf);
printf_s("\nAfter trim: %s\n", trim(szbuf));
}
Die Beendigungsbedingung wird am Anfang der Schleife ausgewertet. Solange keine nachgestellten Unterstriche vorhanden sind, wird die Schleife nicht ausgeführt.