総当りをする関数を作成して下さい

VC++2010
Windows Vista Home SP2

例
第1引数 総当りの初めの文字
第2引数 総当りの最後の文字
第3引数 総当りする桁数
func('a', 'z', 3);
とした時の動作は
aaa〜zzz、aa〜zz、a〜z
の全てを出力するようにしたいです

よろしくお願いします