一般的转换:
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
char str[100];
string s;
int main()
{
//scanf("%s",str);
strcpy(str, "trans");
s = string(str); // char数组转string, 也可以string s(str);初始化
strcpy(str, s.c_str()); // string转char数组
printf("%s", str);
return 0;
}
在STL中,char数组可以自动转换成string传入:
#include <cstdio>
#include <list>
#include <string>
using namespace std;
char str[100];
int main()
{
scanf("%s",str);
list<string> li;
li.push_front(str);//char数组自动转化成string
printf("%s",li.front().c_str());//string转char数组
return 0;
}
Java的处理:
public class test {
public static void main(String[] args) {
char[] data = { 's', 'g', 'k' };
String str = new String(data);
char[] data2 = { 's', 'g', 'h' };
String n = String.valueOf(data2);
data2 = n.toCharArray();
}
}