C语言实现URL字符串的分割
以下是代码,gcc编译出现
错误:expected ‘;’ before ‘{’ token 请大家帮我看下,我不知道问题到底出在哪里了,先谢了!!!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//#define MAX_PER_LINE 100
char* url_parting(char* buf)
{
int i=0;
char *url;
int len = strlen(buf);
printf("%d\n",len);
printf("in the url_parting\n");
while(i<len-1)
{
if(buf[i] != '/')
{
url[i] = buf[i];
}
else
{
if(buf[i] == '/' && buf[i+1]!='/')
{
url[i] = '\n';
}
else(buf[i] == '/' && buf[i+1]=='/')
{
url[i]=buf[i];
url[++i]=buf[i];
}
}
i++;
}
url[i+1] = '\0';
printf("end of url_parting\n");
return url;
}
int main()
{
//char str[100] = "http://www.youku.com/kjfi/jfi/gil";
char *str;
scanf("%s",str);
printf("in the main\n");
char* str1 = url_parting(str);
printf("%s\n",str1);
return 0;
}
[解决办法]
else(buf[i] == '/' && buf[i+1]=='/')
漏掉if了吧?
[解决办法]
- C/C++ code
#include <iostream>using namespace std;#include <stdio.h>#include <string.h>#include <stdlib.h>//#define MAX_PER_LINE 100char* url_parting(char* buf){ int i=0; char *url; int len = strlen(buf); printf("%d\n",len); printf("in the url_parting\n"); while(i<len-1) { if(buf[i] != '/') { url[i] = buf[i]; } else { if(buf[i] == '/' && buf[i+1]!='/') { url[i] = '\n'; } else if(buf[i] == '/' && buf[i+1]=='/')//这里少了if { url[i]=buf[i]; url[++i]=buf[i]; } } i++; } url[i+1] = '\0'; printf("end of url_parting\n"); return url;}int main(){ //char str[100] = "http://www.youku.com/kjfi/jfi/gil"; char *str; scanf("%s",str); printf("in the main\n"); char* str1 = url_parting(str); printf("%s\n",str1); return 0;}