1.c++如何将string 转换为char*
1、如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'/0',而c_str()返回一个以'/0'结尾的字符数组。
2、const char *c_str();
c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.
这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式.
注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针
比如:最好不要这样:
char* c;
string s="1234";
c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理
应该这样用:
char c[20];
string s="1234";
strcpy(c,s.c_str());
这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作
再举个例子
c_str() 以 char* 形式传回 string 内含字符串
如果一个函数要求char*参数,可以使用c_str()方法:
string s = "Hello World!";
printf("%s",s.c_str()); //输出 "Hello World!"
2.C#怎么样把一个String类型转换成Char类型
你说的是这个意思吧:
static void Main(string[] args)
{
string str="1";
char c;
c=Convert.ToChar(str);
Console.WriteLine(c);
}
//string类型本来就可以看作一个char数组,如:
string str="ABCDE";
Console.WriteLine(str[3]);//输出D
foreach (char c in str)
Console.WriteLine(c);
//当然你也可以把它转换成真正的char数组,如:
char[] cs= s.ToCharArray(0,s.Length);
foreach (char c in cs)
Console.WriteLine(c);
//上面写错一点点
//string类型本来就可以看作一个char数组,如:
string str="ABCDE";
Console.WriteLine(str[3]);//输出D
foreach (char c in str)
Console.WriteLine(c);
//当然你也可以把它转换成真正的char数组,如:
char[] cs= str.ToCharArray(0,str.Length);
foreach (char c in cs)
Console.WriteLine(c);
--------------------------
C#中char[]与string互相转换的写法:
string 转换成 Char[]
string ss="abcdefg";
char[] cc=ss.ToCharArray();
Char[] 转换成string
string s=new string(cc);
此外,byte[] 与 string 之间的装换
byte[] bb=Encoding.UTF8.GetBytes(ss);
string s=Encoding.UTF8.GetString(bb);
下面我们利用 StringBuilder 来进行数组 与 string 间的转换 , 很简单,代码如下
using System.Text;
StringBuilder sb=new StringBuilder();
foreach(char c in cc)
{
sb.Append(c);
}
string s=sb.ToString();
StringBuilder 的 Append 方法支持多种参数,所以数组转换成string基本上都可以用它。
另外 string[] 转换成string,.Net框架提供了一个使用的方法
string strOr= "OR";
string result=string.Concat(new string[]{" A ",strOr," B ",Environment.NewLine," C ",strOr," D "});
3.C++怎么把string 转换为char型数组
C++的string类是无法直接转换成char数组的,因为string类型是一个类,是封装的类型,而char数组只是一个简单类型,如果要转换,可以利用string类的一个名为c_str()的成员函数。
c_str()函数返回一个const类型的char指针,相当于是返回了一个const char数组。这个char指针是const类型的,指向的字符串内容不可以修改,所以是无法直接操作这个指针的,然后将这个指针指向的字符串内容复制到一个新的char数组的内存空间,这样就完成了string对象向一个char数组的转换。
4.怎么将string转换成char
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);
public class Test
{
public static void main(String [] args)
{
char c = 'a';
System.out.println (c);
String str = String.valueOf(c);
System.out.println (str);
}
}
5.C#如何将string转为char[]
使用string的方法ToCharArray就可以把string转换成char[]数据 MSDN对ToCharArray如下说明 public char[] ToCharArray() 返回值 Type: System.Char[] 元素为此实例的各字符的 Unicode 字符数组。
如果此实例是空字符串,则返回的数组为空且长度为零。 例子: using System;public class StringSplit2 { public static void Main() { string delimStr = " ,.:"; char [] delimiter = delimStr.ToCharArray(); string words = "one two,three:four."; string [] split = null; Console.WriteLine("The delimiters are -{0}-", delimStr); for (int x = 1; x <= 5; x++) { split = words.Split(delimiter, x); Console.WriteLine("/ncount = {0,2} 。
..", x); foreach (string s in split) { Console.WriteLine("-{0}-", s); } } }}// The example displays the following output:// The delimiters are - ,.:-// count = 1 。
..// -one two,three:four.-// count = 2 。
..// -one-// -two,three:four.-// count = 3 。
..// -one-// -two-// -three:four.-// count = 4 。
..// -one-// -two-// -three-// -four.-// count = 5 。
..// -one-// -two-// -three-// -four-// --。
6.c#怎么把string类型转换成char
static void Main(string[] args){string str="1";char c;c=Convert.ToChar(str);Console.WriteLine(c);}//string类型本来就可以看作一个char数组,如:string str="ABCDE";Console.WriteLine(str[3]);//输出Dforeach (char c in str)Console.WriteLine(c);//当然你也可以把它转换成真正的char数组,如:char[] cs= s.ToCharArray(0,s.Length);foreach (char c in cs)Console.WriteLine(c);//上面写错一点点//string类型本来就可以看作一个char数组,如:string str="ABCDE";Console.WriteLine(str[3]);//输出Dforeach (char c in str)Console.WriteLine(c);//当然你也可以把它转换成真正的char数组,如:char[] cs= str.ToCharArray(0,str.Length);foreach (char c in cs)Console.WriteLine(c);--------------------------C#中char[]与string互相转换的写法:string 转换成 Char[]string ss="abcdefg";char[] cc=ss.ToCharArray();Char[] 转换成stringstring s=new string(cc);此外,byte[] 与 string 之间的装换byte[] bb=Encoding.UTF8.GetBytes(ss);string s=Encoding.UTF8.GetString(bb);下面我们利用 StringBuilder 来进行数组 与 string 间的转换 , 很简单,代码如下 using System.Text;StringBuilder sb=new StringBuilder();foreach(char c in cc){sb.Append(c);}string s=sb.ToString();StringBuilder 的 Append 方法支持多种参数,所以数组转换成string基本上都可以用它。
另外 string[] 转换成string,.Net框架提供了一个使用的方法string strOr= "OR";string result=string.Concat(new string[]{" A ",strOr," B ",Environment.NewLine," C ",strOr," D "});来源:网络。
7.怎样把string转换成char
1、如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'/0',而c_str()返回一个以'/0'结尾的字符数组。
2、const char *c_str();c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式.注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char* c;string s="1234";c = s.c_str(); //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理应该这样用:char c[20];string s="1234";strcpy(c,s.c_str());这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作再举个例子c_str() 以 char* 形式传回 string 内含字符串如果一个函数要求char*参数,可以使用c_str()方法:string s = "Hello World!";printf("%s",s.c_str()); //输出 "Hello World!"。