以下两个函数都是用来去掉 “/” 之后的文件名
例如输入”http://www.knking.com/index.html”,输出”http://www.knking.com”
但是程序无法运行,通过在函数的某些语句后面随意输出一些东西检验,发现题目写的中的那两个语句无法运行,讨教怎么样解决?
例如输入”http://www.knking.com/index.html”,输出”http://www.knking.com”
但是程序无法运行,通过在函数的某些语句后面随意输出一些东西检验,发现题目写的中的那两个语句无法运行,讨教怎么样解决?
#include <stdio.h>
#include <string.h>
void remove_filename(char *url)
{
int i = 7; //字符"http://"共7个字符,避免遇到这里的"/"
while(url[i] != "/")
i++;
strcpy(&url[i], "\0"); //问题语句
puts(url);
}
void remove_filename_2(char *url)
{
int i, len = strlen(url);
for (i = 0; i <= len; i++)
if (url[len - i] == "/") {
url[len - i] = "\0"; //问题语句
break;
}
puts(url);
}
int main(void)
{
remove_filename("http://www.knking.com/index.com");
printf("\n");
remove_filename_2("http://www.knking.com/index.com");
return 0;
}
谢谢!
解决方案
80
你的字符串是在常量区的,不能修改
假如要修改,应用字符数组存字符串
char str[] = “xxxx……”
假如要修改,应用字符数组存字符串
char str[] = “xxxx……”