gpt4 book ai didi

c - 尝试删除字符串字符

转载 作者:行者123 更新时间:2023-11-30 17:16:32 24 4
gpt4 key购买 nike

我试图通过用空引号替换字符串中的字符来删除它们。它给我以下错误消息:

incompatible pointer to integer conversion assigning to
'char' from 'char [1]' [-Wint-conversion]
source[i] = "";
^ ~~

当我用字符替换空字符串时,我遇到了同样的错误,我认为这是替换数组元素的过程,所以我不确定如何继续。

这是我的代码:

#include <stdio.h>
#include <string.h>

int removeString(char source[], int startIndex, int numberRemove) {
int i;
for (i = startIndex; i < startIndex + numberRemove; i++) {
printf ("%c", source[i]);
source[i] = "";
}
for (i = 0; i < strlen(source); i++) {
printf("%c\n", source[i]);
}
return 0;
}

int main (void) {
char text[] = { 'T', 'h', 'e', ' ', 'w', 'r', 'o', 'n', 'g', ' ', 's', 'o', 'n' };

removeString(text, 4, 6);

return 0;
}

最佳答案

您不能将“”分配给字符! ""是一个 char * (最好说是 ASCII0 字符串)。

我想你想在字符串中插入一个 0 代码!这不是一个好的选择,因为 0 表示 ASCII0 字符串的结尾。

您可以用空格替换该字符:

source[i] = ' ';

但我认为这不是你想要的!

要从字符串中删除该字符,您必须将要删除的字符后面的所有字符移动到要删除的字符上。 ;)

如果您希望将 ASCII0 字符串作为空字符串打印和管理
只需在第一个字节中输入 0 即可!!!

source[0]=0;

*source=0;

关于c - 尝试删除字符串字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29616788/

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