Freigeben über


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.

Siehe auch

Referenz

Iterationsanweisungen (C++)

C++-Schlüsselwörter

do-while-Anweisung (C++)

for-Anweisung (C++)

Bereichsbasiert für Anweisung (C++)