字符串、数组、指针三者转换

 

 

字符数组转化成string类型

char ch [] = "ABCDEFG";
string str(ch);//也可string str = ch;
或者
char ch [] = "ABCDEFG";
string str;
str = ch;//在原有基础上添加可以用str += ch;

可以直接转换

将string类型转换为字符数组

char buf[10];
string str("ABCDEFG");
length = str.copy(buf, 9);
buf[length] = '\0';
或者
char buf[10];
string str("ABCDEFG");
strcpy(buf, str.c_str());//strncpy(buf, str.c_str(), 10);

实验 : 字符串、数组、指针三者转换

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

int main()
{ 
	string str1= "String";
	char ch[]={"charactar"};
	char *p = (char *)"Point";    //强制转换赋值

	str1 = ch;				    //字符串与数组 
	cout << str1 << endl ;
	str1= "String";
	//ch = str1;				//错误,不能直接赋值

    str1 = *p ;				    //字符串与指针
	cout << str1 << endl;	    //
	//p = str1;

	p = ch;						//数组与指针
	cout << *p <<endl;		    //只输出ch首地址的内的c字符,需要调用循环
	//ch = p;

	return 0;
}

输出:

character

p

c
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值