string转char数组python_在C++中将string转换为char数组

原标题:在C++中将string转换为char数组

来自:https://www.linuxmi.com/c-string-char.html

相信很多人都遇到过这样一个错误:‘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' } ;

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

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

语法:

const char* c_str const ;

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

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

// string转换到char数组CPP程序

# include

usingnamespacestd;

// 驱动代码

intmain

{

// 为字符串赋值

strings = "www.linuxmi.com";

intn = s.length;

//声明char数组

charchar_array[n + 1];

// 将string 的内容复制到char数组中

strcpy(char_array, s.c_str);

for( inti = 0; i < n; i++)

cout<< char_array[i];

cout<< "n";

return0;

}

输出:

www.linuxmi.com

另一种方法:

// 转换 string 到char数组CPP程序

# include

# include

usingnamespacestd;

//驱动程序代码

intmain

{

// 为字符串赋值

strings( "www.linuxmi.com");

// 声明字符数组 : p

charp[s.length];

inti;

for(i = 0; i < sizeof(p); i++) {

p[i] = s[i];

cout<< p[i];

}

cout<< "n";

return0;

}

输出:

www.linuxmi.com

OK,本文就这样,有什么不对的地方请指正。 返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值