Здравствуйте, Аноним, Вы писали:
А>while (*pw1++ = pw2++);
Вы звездочку перед pw2 не забыли?
А>По идее, сначала в цикле вынимается содержимое *pw2, но оно уже равно нулю, делее продолжения быть не должно,
А>но все-таки строки копируются с завершающим нулем из *pw2
Потому что сначала вычисляется выражение *pw1++ = *pw2++, значением которого является то, что лежало по адресу *pw2, а побочными эффектами — увеличение указателей и копирование WCHAR'а из *pw2 в *pw1. Если там лежал ноль, то продолжения не будет, но ноль таки скопируется.
Я, кстати, циклы с пустым телом предпочитаю писать так:
while( *pw1++ = *pw2++ )
;
Сразу видно, что это цилк с пустым телом, а не странная описка.