以下两个函数都是用来去掉 “/” 之后的文件名
例如输入”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……”