VC++.netで開発をしています。

CString filename = L"abcdefg";
const char *cast;
cast = (LPCSTR)(LPCTSTR)filename;

とキャストをするとcastには最初の"a"しか入りません。
どうやってキャストをすればよいのでしょうか。