間ステートメント (C++)

expression がゼロになるまで statement を繰り返し実行します。

while ( expression )
   statement

解説

式が評価されてからループが実行されるので、while ループは 0 回以上実行されます。expression は、整数またはポインター型への明確な変換を使用した整数型、ポインター型、またはクラス型である必要があります。

while ループは、breakgoto、または return がステートメント本体で実行されたときにも終了できます。while ループを終了せずに現在の反復を終了するには、continue を使用します。continue は while ループの次のイテレーションに制御を渡します。

次のコードは、文字列の末尾のアンダースコアをトリミングするために while ループを使用します。

// 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));
}

終了条件はループの先頭で評価されます。末尾のアンダースコアがない場合、ループは実行されません。

参照

関連項目

繰り返しステートメント (C++)

C++ のキーワード

do-while ステートメント (C++)

に対するステートメント (C++)

範囲ベースの for ステートメント (C++)