中易网

求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码???

答案:2  悬赏:80  
解决时间 2021-02-16 01:18
求高手讲解.c_str()的作用,还有为什么我的以下程序会乱码???
最佳答案
.c_str()就是把string类型转为char*类型,它是string类型自带的一个类型转换函数。

关于乱码,是由于你的数据没有初始化,并且输出时循环越界引起的,修改为以下即可:
#include
#include
using namespace std;
int main()
{
string str="Hello World!";
char arr[50]={0};
strcpy(arr,str.c_str());//.c_str()是把string类型转为char*格式!
for(int i=0;i<50;i++)
{
cout< }
return 0;
}
全部回答
for(int i=0;i<100;i++)你把这个改为for(int i=0;i<12;i++)试试看怎么样。。。改成这样后我在VS2010里运行没问题。。。 c_str()函数返回一个指向字符串的指针, 内容与string串相同. 如果用到printf这种C专用的东西就要用到c_str. 这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
怎么让自己十年内买起宾利
我家的长虹全自动洗衣机不能脱水,并发出报警
有很多女孩喜欢让我羡慕她有男朋友,我该找个
我世纪天成的号被盗了,我选通过安全问答找回
泰源饭店地址在哪,我要去那里办事
美美蛋糕西饼店地址有知道的么?有点事想过去
那一次,我真后悔,,一共5段
我社保买重了,深圳昆明各买一份,户口在深圳
为什么宣化上人可以让弟子皈依自己
衣佳人制衣怎么去啊,有知道地址的么
从安徽快递寄东西到云南香格里拉需要多长时间
山海经是中国什么古籍,山海经原来是有图的,
网易同城约会里面有加黑禁言的,怎么知道被拉
宏安假日酒店-洗手间地址在什么地方,想过去
溢香园饭庄在哪里啊,我有事要去这个地方
推荐资讯
.得得拍改名为什么了 从哪里搜索
星特朗80EQ如何看星云
青台湾茶这个地址在什么地方,我要处理点事
馨雅阁养生馆在哪里啊,我有事要去这个地方
广源二手车行在哪里啊,我有事要去这个地方
贺戈庄村村地址在哪,我要去那里办事
请教matlab的exist函数的用法
我的裙底被男友看到了怎么办我穿着条短裙,躺
别人送的通灵翠钻的钻戒现在不喜欢了可以去店
遇到杀红眼的亚索怎么办
怎么装修最省钱?求装修攻略。
住在王岗公交站要去宝业广场上7:30的班几点从
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?