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

expression が 0 と評価されるまで statement を繰り返し実行します。

構文

while ( expression )
   statement

解説

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

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

次のコードは、文字列の末尾のアンダースコアをトリミングするために 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));
}

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

関連項目

繰り返しステートメント
キーワード
do-while ステートメント (C++)
for ステートメント (C++)
範囲ベースの for ステートメント (C++)