int _tmain(int argc, _TCHAR* argv[])
{
CString URL,URLOpen; //URL是表示用于打开的网址 URL1表示用于保存该网址源代码的文件的文件名。
CString strTempData;//网页源文件写入一行数据。
CString FileName;//FileName1表示文件名。
HANDLE handle;//创建文件操作所保存的句柄。
CInternetSession session(_T("myagent"));//对指定网址爬取所需声明的对象。   URLOpen = "http://www.xunlei.com/?id=7008";//测试文件名.
URL = URLOpen; if(WebSiteToTFileName(0,URLOpen) == -1)
return -1;//如果转换失败则退出 返回-1。
FileName.Format("%s%s%s","f:\\",URLOpen,".TXT");//为文件名后面添加TXT。
const char * LpFileName = FileName.GetBuffer(0);//返回指向该文件的指针。 //创建文件操作,以写入的方式
handle = ::CreateFileA(FileName,GENERIC_WRITE,0,NULL,CREATE_NEW|OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL); if(handle == INVALID_HANDLE_VALUE) 
return -1; 
            ...............以上代码我先说明下,我是将网址作为文件名的,我想把文件创建在一个叫源文件的文件夹下,但是我跟上路径名总是返回空句柄,在网上看了很多代码,应该没有什么问题。
声明一下不是网址中的字符不能作为文件名导致文件创建不成功,因为webToFilename实现了这层转换。
希望CSDN上的朋友能帮忙解答,因为真的不想再在百度上浪费时间了。