所以我写了以下方法:
void removeEndingColon(char *charArrayWithColon) {
// remove ':' from variableName
size_t indexOfNullTerminator = strlen(charArrayWithColon);
charArrayWithColon[indexOfNullTerminator - 1] = '\0'; // replace ':' with '\0'
}
但是当我在 eclipse 中使用以下代码对其进行测试时,我没有得到任何输出,并且我不知道为什么我的可执行文件无法运行。
char *charArray1 = "ThisHasAColonAtTheEnd:";
removeEndingColon(charArray1);
最佳答案
char *charArray1 = "ThisHasAColonAtTheEnd:";`
此处将 charArray1 指向字符串文字。在 C 中,您无法修改文字。参见例如this question
您可以将字符串存储在可以修改的数组中。所以就这样做
char charArray1[] = "ThisHasAColonAtTheEnd:";
关于c - 尝试删除 C 中字符数组中的最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20056587/