Q L*_*Liu 2 c arrays string null-terminated
所以我写了以下方法:
void removeEndingColon(char *charArrayWithColon) {
// remove ':' from variableName
size_t indexOfNullTerminator = strlen(charArrayWithColon);
charArrayWithColon[indexOfNullTerminator - 1] = '\0'; // replace ':' with '\0'
}
Run Code Online (Sandbox Code Playgroud)
但是当我在eclipse中使用以下代码测试它时,我没有输出,我不知道为什么我的可执行文件无法运行.
char *charArray1 = "ThisHasAColonAtTheEnd:";
removeEndingColon(charArray1);
Run Code Online (Sandbox Code Playgroud)
char *charArray1 = "ThisHasAColonAtTheEnd:";`
Run Code Online (Sandbox Code Playgroud)
在这里,您将charArray1指向字符串文字.在C中,您无法修改文字.参见例如这个问题
您可以将字符串存储在可以修改的数组中.所以就这么做
char charArray1[] = "ThisHasAColonAtTheEnd:";
Run Code Online (Sandbox Code Playgroud)