教えていただきたいのですが、下記のプログラムの

void DumpLetterCode(const char* str)
{
for(; *str; str++)
printf("%02X ", (unsigned char)*str);
cout << endl;
}

for(; *str; str++) はどういう働きをするのでしょうか?
お願いします☆