C++中如何用string给char类型的变量赋值

别太深奥... 别太深奥 展开
 我来答
程序猿3号
推荐于2016-05-22 · TA获得超过1811个赞
知道小有建树答主
回答量:1029
采纳率:33%
帮助的人:765万
展开全部
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "hello";

cout<<str<<endl;
char s[10];

str.copy(s, 5, 0); // 5表示复制5位,0表示开始复制的位 
*(s+5) = '\0'; // 手动加结束符 
cout<<s<<endl;
}
yuantailing
推荐于2018-04-11 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:655万
展开全部

string类的成员函数c_str()可获取转换成的char*型字符串。例如:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

int main()
{
    string st("Hello");
    char a[100];
    strcpy(a,st.c_str());
    cout << a << endl;
    return 0;
}
追问
如果a[]={"The word!"};
要把st 接在后面 怎么用st.c_str()
追答

用strcat拼接。如下:

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
    string st("Hello");
    char a[100] = "The word!";
    strcat(a,st.c_str());
    cout << a << endl;
    return 0;
}

你不肯采纳我的。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小酥c9
2013-08-27
知道答主
回答量:15
采纳率:0%
帮助的人:12.2万
展开全部
什么意思啊,是像这样么
string str("abcd");
char s;
s=str[0];
cout<<s<<endl; //s='a'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式