Q:

Как поменять цикл while на for?

я стараюсь не использовать цикл while, потому что он мне не нравиться.
Но мне нужно вызвать функцию ReceiveAndPrint и проверить ее, не равна ли она 0, после этого завершить цикл.
Через while это делается так.
while (ReceiveAndPrint(ConnSocket, Buffer, sizeof(Buffer)) != 0);

Вопрос как тоже самое делать через цикл for

A:

for(;;)
{
    if(0 != ReceiveAndPrint(ConnSocket, Buffer, sizeof(Buffer)))
    {
        break;
    }
}

A:

Цикл 
while (условие)
  ...

полностью эквивалентен циклу
for (; условие; )
  ...

поэтому в вашем случае формальная замена будет выглядеть просто как
for (; ReceiveAndPrint(ConnSocket, Buffer, sizeof(Buffer)) != 0; );

В чем смысл такой замены и зачем она вам понадобилась, правда, не ясно.

