【C++/Java】char配列とstringの相互変換と自動変換


一般的な変換:
#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();
	}
}