【C++ / Java】char陣列和string的相互轉換及自動轉換
阿新 • • 發佈:2019-01-02
一般的轉換:
#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();
}
}