Оператор while (C++)
Циклически выполняет оператор до тех пор, пока значение параметра выражение не будет равно нулю.
while ( expression )
statement
Заметки
Значение параметра выражение проверяется перед каждым выполнением цикла, поэтому цикл while выполняется ноль или несколько раз. Параметр выражение должен иметь целочисленный тип, тип указателя или тип класса с однозначным преобразованием в целочисленный тип или тип указателя.
Выполнение цикла 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));
}
Условие завершения вычисляется в начале цикла. Если символов подчеркивания в конце строки нет, цикл никогда не выполняется.