>>744
>memset(strtmp,NULL,MAX_PATH);

NULLは多くの環境で(void*)でキャストした0が使われる。
memset()の第二引数の型はintなので本来の意味的には

>memset(strtmp,'\0',MAX_PATH);

が正しい。

# 文字定数の型はint