【发布时间】:2014-06-19 13:47:34
【问题描述】:
我想用'/'分割一个字符串并将字符串中的char'/'更改为'/0',所以我写了一个这样的函数:
void parse_query(char* str){
char* p = str;
char** r = (char**)malloc(sizeof(char*)*5);
int i = 0;
r[i++] = p;
while(p=strchr(p,'/')){
*p = '/0';
p++;
r[i++] = p;
}
}
当我运行如下程序时:
char* s = "a/b";
parse_query(s);
分段错误发生在这一行:
*p = '/0';
谁能给我一个建议?
【问题讨论】:
-
您是想将一个字符更改为 2('/' 更改为 "/0"),还是将其更改为零字符 ('\0')?