我刚开始学习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;
}
c_str()
函数(例如,a.c_str()
),它会返回一个const char*
。 - James Adkisonstd::string
。 - Cheers and hth. - Alfstd::string::c_str
时要注意:当std::string
超出其作用域时,返回的指针将无效。因此,您不能使用它来返回本地字符串的缓冲区。 - Baum mit Augenstd::string a("jyillit");
其中&a[0]
是具有写入访问权限的char*
。 - Алексей Неудачин