C++中string、char*、const char *相互转化

目录

string转const char *

/*
	string转const char * 
*/
#include<iostream>
#include<string>
using namespace std;


int main() {
    
    
	string str = "hello world!";
	const char *p = str.c_str();
	cout << p << endl;
	return 0;
}

string转char *

/*
	string转char * 
*/
#include<iostream>
#include<string>
using namespace std;

int main() {
    
    
	string str="hello world!";
	char *p;
	int len = str.length();
	p=(char *)malloc((len+1)*sizeof(char));
	str.copy(p,len,0);	// 0代表从头开始,len是复制字符个数
	cout << p << endl;
	return 0; 
}

char *转string

/*
	char *转string 
*/
#include<iostream>
#include<string>
using namespace std;
int main() {
    
    
	char *p = "hello world!";
	string str(p);  // 方法1 
	// 方法2: string str;  str = p;
	cout << str << endl;
	return 0;
}

const char *转string

/*
	const char *转string 
*/
#include<iostream>
#include<string>
using namespace std;
int main() {
    
    
	const char *p = "hello world!";
	string str(p);  // 方法1 
	// 方法2: string str;  str = p;
	cout << str << endl;
	return 0;
}

const char *转char *

/*
	const char *转char *
*/
#include<iostream>
#include<string>
using namespace std;
int main() {
    
    
	const char *p = "hello world!";
	char *s = (char *)p;
	cout << s << endl;
	return 0;
}

char *转const char *

/*
	char *转const char *
*/
#include<iostream>
#include<string>
using namespace std;
int main() {
    
    
	char *p = "hello world!";
	const char *s = (const char*)p;
	cout << s << endl;
	return 0;
}

猜你喜欢

转载自blog.csdn.net/gls_nuaa/article/details/130195003