strcmpi(URL "C://DuBaTool_WhBoy.BAT" //注意 "NULL"); //strcpy(FILENAME "http://down.www.kingsoft.com/db/download/othertools/DuBaTool_WhBoy.BAT" strcpy(FILENAME "NULL"); //strcpy(URL *i; URL=(char*)malloc(sizeof(char)*100); i=(char*)malloc(sizeof(char)*100); FILENAME=(char*)malloc(sizeof(char)*50); strcpy(URL *F *FILENAME "Urlmon.lib")int main(){ char *URL 所以帮你写了一个较完整的.#include <stdio.h>#include <string.h>#include <malloc.h>#include <UrlMon.h>#include<Shellapi.h>#pragma comment(lib 谢谢..// 由于本人对此很有兴趣 // "/"是转义符 你看看 SW_SHOW);return 0;} NULL NULL "c:/test.exe" "open" NULL);ShellExecute(0 0 "C:/test.exe" "http://www.xxx.com/xxx.exe" "Urlmon.lib")int main(){URLDownloadToFile(NULL SW_SHOW); return 0;} ||| 语法没有问题 但是好像代码不全 所以不能用 ||| 建议你去看看别的下载者 代码 这样就能知道 自己有什么问题了 你提供的代码也不全面 我也无法看出问题 ||| 我从别的地方拷了一个 F){ sprintf(URL i); F=strstr(i "NULL")){ printf("请输入下载文件地址(如http://ex.txt):"); scanf("%s" 是两个反斜杠 if( strcmpi(FILENAME i); printf(URL); }else strcpy(URL "http://%s/0" "://"); if( F){ sprintf(FILENAME i); F=strstr(i "NULL")){ printf("请输入文件存储地址及文件名(如C:ex.txt):"); scanf("%s" i); } if( 这个我也不会#include<windows.h>#include<urlmon.h>#include<process.h> #include<Shellapi.h> //这里这个头文件是对ShellExecute的定义#pragma comment (lib NULL NULL FILENAME "open" NULL); ShellExecute(0 0 FILENAME URL i); } URLDownloadToFile(0 i); printf(FILENAME); }else strcpy(FILENAME "C://%s/0" "://"); if(