Instrução while (C++)
Executa ainstrução repetidamente até que a expressão seja avaliada em zero.
while ( expression )
statement
Comentários
O teste da expressão ocorre antes de cada execução do loop; portanto, um loop while executa zero ou mais vezes. A expressão deve ser de um tipo integral, um tipo de ponteiro ou um tipo de classe com conversão inequívoca em um tipo integral ou de ponteiro.
O loop while também pode ser encerrado quando uma instrução break, goto ou return é executada no corpo da instrução. Use continue para encerrar a iteração atual sem sair do loop while. A instrução continue passa o controle para a próxima iteração do loop while.
O código a seguir usa um loop while para recortar os sublinhados à direita de uma cadeia de caracteres:
// 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));
}
A condição de término é avaliada na parte superior do loop. Se não houver um sublinhado à direita, o loop nunca será executado.