【发布时间】:2011-11-01 12:43:04
【问题描述】:
我需要将 C 字符串中每次出现的 '&' 替换为 ','。
我这样做了,它有效
代码 1:
char *val, *querydup;
.
.
.
val=strchr(querydup,'&');
while(val != NULL) {
*val=',';
val=strchr(querydup,'&');
}
为了“优雅”,我尝试了以下操作,但它导致了段错误,甚至我的指针光标都被破坏了!奇怪,我在 vmware vm 中运行 linux。
代码 2:
while(val=strchr(querydup,'&') != NULL) {
*val=',';
}
那么有什么问题呢?..
你认为代码 1 是“优雅的”吗?...
问候。
【问题讨论】:
-
我建议您将
val=strchr(querydup,'&')放在if语句内的括号内。
标签: c string segmentation-fault strchr