java中如何将char数组转化为String?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中如何将char数组转化为String?相关的知识,希望对你有一定的参考价值。
如将[a,b,c,d,e]转化为“abcde”
1.直接在构造String时建立。char data[] = 's', 'g', 'k';
String str = new String(data);
2.String有方法可以直接转换。
String.valueOf(char[] chr)就可以。
如:
char[] cha = 's','g','h';
String n = String.valueOf(cha); 参考技术A class Test
public static void main(String[] args)
String s = null;
char[] c = 'a', 'b', 'c', 'd', 'e';
for(int i = 0; i < c.length; i++)
if(s == null)
s = Character.toString(c[i]);
else
s = s + c[i];
System.out.println(s);
参考技术B String(char[] value)
分配一个新的 String,使其表示字符数组参数中当前包含的字符序列。 参考技术C srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
public static String copyValueOf(char[] data)返回指定数组中表示该字符序列的 String。
参数:data - 字符数组。 参考技术D char data[] = 'a', 'b', 'c';
String str = new String(data);
如何将C++中string类型的字符串赋给unsigned char数组
如何将C++中string类型的字符串转化为unsigned char数组
如何将C++中string类型的字符串转化为wchat_t类型数组
std::string str("str");
由于string内部本身就是char的动态数组
另外char和unsigned char的存储空间完全一样 都是1byte
一般直接 &str[0]就可以了
如果要复制的话
unsigned char arr[size] = 0; //这个size 要大于 str.size();
memcpy(arr, &str[0], str.size());
如何将C++中string类型的字符串转化为wchat_t类型数组
字符编码不样的
可以用windows的MultibyteToWidechar
如果要跨平台的话建议直接用iconv处理 参考技术A
写了unsigned char的,另一个类型照抄
#include <string>#include <iostream>
using namespace std;
int main()
string s="i like it";
unsigned char str[200];
int len=s.length();
for(int i=0;i<len;++i)
str[i]=s[i];
str[i]='\\0';
cout<<str<<endl;
追问
貌似有点问题,编译能过,运行就不行了
内存越界了,你的char数组定义的够长么?
会不会超过那个12或者1024?
我把num给变成1024也不行,我确定够长
追答方法肯定没有问题,我的例子我也运行过。
你把numbers[12]已经修改为 numbers[1024]了?
你应该可以调试吧,看看num是什么字符串,length多长,i到哪里越界的?
num没有问题了,问题就在这个宽字节wchar_t上
追答想不出来! 调试吧,num没有问题证明方法是对的
string内部是char,这么转换类型给wchar_t,后续使用有没有问题?
你需要看看words是什么字符串,length多长,i到哪里越界的?
以上是关于java中如何将char数组转化为String?的主要内容,如果未能解决你的问题,请参考以下文章