我刚开始使用 c++ 并且难以理解 const char*
。我正在尝试将方法中的输入转换为 string
,然后更改字符串以在我想要的位置添加连字符并最终将该字符串转换回 char*
以返回.到目前为止,当我尝试这个时,它给了我一个总线错误 10。
char* getHyphen(const char* input){
string vowels [12] = {"A","E","I","O","U","Y","a","e","i","o","u","y"};
//convert char* to string
string a;
int i = 0;
while(input != '\0'){
a += input[i];
input++;
i++;
}
//convert a string to char*
return NULL;
}
原文由 Arya Atighehchian 发布,翻译遵循 CC BY-SA 4.0 许可协议
不要使用
char*
。使用std::string
,就像这里所有其他人告诉你的那样。这将消除所有此类问题。但是,为了完整起见,也因为您想了解背景,让我们分析一下发生了什么。
a += *input; input++; i++;
”`
(其实现在
i
已经不用了,完全可以去掉。)让我再重复一遍:不要使用
char*
。使用std::string
。