作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Unix 中编写 C 程序,但不知道如何将数组元素设置为 NULL。我需要能够执行此操作以从字符串中删除多个字符。
最佳答案
您不能将 null
分配给特定的 char 数组索引,因为该索引表示的值是 char 而不是指针。但是如果你需要从给定的字符串中删除特定字符,你可以按如下方式实现
void removeChar(char *str, char garbage) {
char *src, *dst;
for (src = dst = str; *src != '\0'; src++) {
*dst = *src;
if (*dst != garbage) dst++;
}
*dst = '\0';
}
测试程序
#include<stdio.h>
int main(void) {
char* str = malloc(strlen("abcdef")+1);
strcpy(str, "abcdbbbef");
removeChar(str, 'b');
printf("%s", str);
free(str);
return 0;
}
输出
acdef
关于c - 如何在C程序中将数组中的元素设置为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535211/
我是一名优秀的程序员,十分优秀!