1. 首页>动态要闻 > 信息

c怎么把string转换成char

作者:张悦明
2020-04-21
信息

1.c++如何将string 转换为char*

1、如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'',而c_str()返回一个以''结尾的字符数组。

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[]

string 转换成 Char[]:

ToCharArray()方法。

比如:来

string str="hello";

char[] arr=str.ToCharArray();

扩展资料:

1、Char[]转换成string:

string s = new string(cc);

2、byte[]与自string之间的转化:

string str = "你好,hello";

byte[] bytes;

byte[] 转换成 string:

bytes = Encoding.UTF8.GetBytes(str);

string 转换成 byte[] (用哪种zhidao编码生成的byte[],就要用哪种编码合成string):

string str1 = Encoding.UTF8.GetString(bytes);

bytes=Encoding.Default.GetBytes(str);

string str2 = Encoding.Default.GetString(bytes);

4.C++怎么把string 转换为char型数组

C++的string类是无法直接转换成char数组的,因为string类型是一个类,是封装的类型,而char数组只是一个简单类型,如果要转换,可以利用string类的一个名为c_str()的成员函数。

c_str()函数返回一个const类型的char指针,相当于是返回了一个const char数组。这个char指针是const类型的,指向的字符串内容不可以修改,所以是无法直接操作这个指针的,然后将这个指针指向的字符串内容复制到一个新的char数组的内存空间,这样就完成了string对象向一个char数组的转换。

5.c# string 类型如何转换成char*类型

char[]是char的数组,char只能放单字符。

str.ToCharArray()转成char[],就说明str的数据用一个char存不下。

想要char的值,可以通过char c = char[i],这种方式获取第i个char值;

也可以使用foreach(char item in str.ToCharArray())

{

item 就是你要的char

}

6.C++中string 如何转char

如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'',而c_str()返回一个以''结尾的字符数组。

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!"。

推荐阅读
  • 日照好玩的地方和吃海鲜应该去哪听说日

    日照好玩的地方:万平口:"旅游来日照,必到万平口",已成为各地游客的共识。刘家湾赶海园:以赶海系列活动为主,集旅游、休闲、度假、民俗、健身于一体的综合旅游园。竹洞天:位于山东省日照市城区西端的将帅沟毛竹…

    信息 2024-05-19
  • 什么是铸造

    铸造是指将室温中为液态,但不久后将要固态化的物质倒入特定形状的铸模待其凝固成形的加工方式。 被铸物质多半原为固态但加热至液态的金属(例:铜、铁、铝、锡、铅等),而铸模的材料可以是沙、金属甚至陶瓷。 因应…

    信息 2024-05-19
  • 变形金刚中博派和狂派各有哪些人物

    博派:擎天柱,铁皮,大黄蜂,爵士,棘齿。狂派:威震天,红蜘蛛,眩晕,吵闹,萨克,碎骨魔,路障,迷乱。…

    信息 2024-05-19
  • 一平方毫米的铜线能过多少安的电流

    1平方毫米的铜线在不同电流下通过的安培数不同。最大是18A:(1)60A以下,选1平方毫米的铜线安全载流量是6A;(2)60~100A,选1平方毫米的铜线,安全载流量是5A;(3)100A以上,选1平方毫米的铜线,安全载流量是2.5A 。…

    信息 2024-05-19
  • 中华人民共和国城乡规划法第四十条有规

    自2008年1月1日起施行的《中华人民共和国城乡规划法》第四十条:在城市、镇规划区内进行建筑物、构筑物、道路、管线和其他工程建设的,建设单位或者个人应当向城市、县人民政府城乡规划主管部门或者省、自治区、直辖…

    信息 2024-05-19