-
-
[求助]请教一下,关于win下网络编程,一个编译错误
-
-
[求助]请教一下,关于win下网络编程,一个编译错误
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int geturl(char *url)
{
/****************解析URL,解析资源名、主机名********************/
const char *parseptr1;
const char *parseptr2;
char host[BUFSIZ];
char resource[BUFSIZ];
int len, i;
parseptr2 = url;
parseptr1 = strstr(parseptr2, "http://");
if(NULL == parseptr1) //解析用户输入URL形式如"431K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6t1$3M7i4g2G2N6q4)9K6b7W2)9J5y4X3&6T1M7%4m8Q4x3@1u0Q4c8e0k6Q4z5o6y4Q4z5o6g2Q4c8e0g2Q4z5o6k6Q4b7U0g2Q4x3U0k6F1j5Y4y4H3i4K6y4n7
{
parseptr1 = strchr(parseptr2, '/');
len = parseptr1 - parseptr2;
if(NULL == parseptr1) //解析主机、资源名
{
strcpy(host, parseptr2);
strcpy(resource, "/");
}
else //解析用户输入URL形式如"6bbK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3P5s2S2^5i4K6t1$3M7i4g2G2N6q4)9K6b7W2!0q4y4W2)9^5x3#2)9^5y4g2!0q4y4g2)9^5y4W2!0n7y4g2)9J5y4X3&6T1M7%4m8Q4x3@1t1`.
{
for(i = 0; i < len; i++)
{
host[i] = parseptr2[i];//解析主机名
}
host[len] = '\0';
for(i = 0; i < len; i++)
{
parseptr2++;
}
strcpy(resource, parseptr2);//解析资源名
}
printf("host: %s\nresouce: %s\n", host, resource);
}
else
{
parseptr1 = strchr(parseptr2, ':'); //解析用户输入URL形式如"342K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6t1$3M7i4g2G2N6q4)9K6b7W2!0q4y4W2)9^5x3#2)9^5y4g2!0q4y4g2)9^5y4W2!0n7y4g2)9J5y4X3&6T1M7%4m8Q4x3@1t1`.
len = parseptr1 - parseptr2;
printf("protocol: "); //解析协议
for(i = 0; i < len; i++)
{
printf("%c", parseptr2[i]);
}
for(i = 0; i < 3; i++)
{
parseptr1++;
}
parseptr2 = parseptr1;
parseptr1 = strchr(parseptr2, '/');
len = parseptr1 - parseptr2;
if(NULL == parseptr1)
{
strcpy(host, parseptr2); //解析主机名
strcpy(resource, "/"); //解析资源名
}
else //解析用户输入URL形式如"90fK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6h3u0S2K9h3c8#2i4K6u0W2j5$3!0E0i4K6u0r3P5s2S2^5i4K6u0W2i4K6u0W2i4K6t1$3M7i4g2G2N6q4)9K6b7W2!0q4y4W2)9^5x3#2)9^5y4g2!0q4y4g2)9^5y4W2!0n7y4g2)9J5y4X3&6T1M7%4m8Q4x3@1t1`.
{
for(i = 0; i < len; i++)
{
host[i] = parseptr2[i];
}
host[len] = '\0';
parseptr2 = parseptr1;
strcpy(resource, parseptr2);
}
printf("\nhost: %s\nresource: %s\n", host, resource);
}
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2), &wsaData); //这句被我去了后可以正常编译
}
int main(void)
{
char *url;
scanf("%s",url);
geturl(url);
}
我使用gcc编译出现

刚来论坛,第一次发帖,不知道对不对
求教,谢谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课