while ステートメント (C++)
expression がゼロになるまで statement を繰り返し実行します。
while ( expression )
statement
解説
expression が評価されてからループが実行されるので、while ループは 0 回以上実行されます。 expression は、整数またはポインター型への明確な変換を使用した整数型、ポインター型、またはクラス型である必要があります。
while ループは、break、goto、または 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));
}
終了条件はループの先頭で評価されます。 末尾のアンダースコアがない場合、ループは実行されません。