gpt4 book ai didi

c - 如何在C程序中将数组中的元素设置为空

转载 作者:行者123 更新时间:2023-12-02 06:38:36 25 4
gpt4 key购买 nike

我正在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com