相信很多人都遇到过这样一个错误:‘cannot convert std::string to char[] or char* data type’。

示例:

输入 : string s = “linuxmi” ;
输出 : char s[] = { ‘l’, ‘i’, ‘n’, ‘u’, ‘x’, ‘m’, ‘i’ } ;

输入 : string s = “python” ;
输出 : char s[] = { ‘p’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’ } ;

一种方法是将字符串的内容复制到char数组中。这可以在c_str()和strcpy()函数的帮助下实现。

c_str()函数用于返回一个指向数组的指针,该数组包含一个以空结尾的字符序列,该序列表示字符串的当前值。

语法:

const char* c_str() const ;

如果抛出异常,则字符串中没有任何更改。但是,当需要查找或访问单个元素时,我们可以使用strcpy()函数将其复制到char数组中。在复制它之后,我们可以像使用一个简单的数组一样使用它。

获取的字符数组的长度不应小于输入字符串的长度。

输出:

另一种方法

输出:

OK,本文就这样,有什么不对的地方请指正。

发表评论