char* 、const char*和string之间的转换

1. const char* 和string 转换

(1) const char*转换为 string,直接赋值即可。

EX: const char* tmp = "tsinghua".

string s = tmp;

(2) string转换为const char*,利用c_str()

EX:  string s = "tsinghua";

const char*tmp = s.c_str();

2. char*和const char*之间的转换

(1) const char*转化为char*,利用const_cast<char*>

EX: const char* tmp = "tsinghua";

char* p = const_cast<char*>(tmp);

(2) char*转化为const char*,直接赋值即可。

char* p = "tsinghua".

const char* tmp = p;

3. char*和string之间的转换

有了1和2的基础,char*和string转化就很简单了。

(1)char*转化为string,直接赋值即可。

EX: char* p = "tsinghua".

string str = p;

(2)string转化为char*,走两步,先是string->const char*,然后是const char*->char*

EX:  string str = "tsinghua";

char* p = const_cast<char*>(str.c_str()):

时间: 2024-07-29 20:25:42

char* 、const char*和string之间的转换的相关文章

string char * const char *之间的互相转换

string  ->   const char * 用str的c_str()方法或者data()方法均可,这个两个方法返回值为cong char * string str = "hello"; const char *a = str.c_str(); const char *b = str.c_str(); const char *  ->  string const char*转换为 string,直接赋值即可 string  ->  char * vs不让用str

char*,const char*,char[],string之间的转换问题。

#include <iostream> #include <stdlib.h> #include <string> using namespace std; int main() { // string和const char*互转 const char* a; string str_1 = "my name is pang"; a = str_1.c_str(); cout<<a<<endl; //const char*转st

C# char[]与string之间的转换 byte[]与string之间的转化

1.char[]与string之间的转换 //string 转换成 Char[] string str="hello"; char[] arr=str.ToCharArray(); //Char[] 转换成 string string str1 = new string(arr); 2.byte[]与string之间的转化 string str = "你好,hello"; byte[] bytes; //byte[] 转换成 string bytes = Encod

char*,const char*和string的相互转换

好久没写东西啦,发表学术文章一篇,hiahia~ 近日和小佳子编程时遇到很多转换问题,很麻烦,在网上查了很多资料. 为了以后查找方便,特此总结如下. 如果有不对的地方或者有更简单的方法,请指出~~ 1. string转const char* string s = "abc"; const char* c_s = s.c_str(); 2. const char*转string 直接赋值即可 const char* c_s = "abc"; string s(c_s)

char* const char* string

1. string转const char* string s = "abc"; const char* c_s = s.c_str(); 2. const char*转string 直接赋值即可 const char* c_s = "abc"; string s(c_s); 3. string转char* string s = "abc"; char* c; const int len = s.length(); c = new char[len

const char*, char const*, char*const使用时的区别

案例1: #include<iostream> using namespace std; void main(void) { // char* a 与 char a[] 的区别 char* a = "abcdef"; // a为一指针,其值可以改变.现在a指向的是一常量字符串 cout << a << endl; a = "ghijkl"; // a现在指向另一常量字符串 //a[0] = 'z'; // a指向的为常量,编译没问

const char*, char const*, char*const的区别

Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读. char * const cp; ( * 读成 pointer to ) cp is a const pointer to char const char * p; p is a pointer to const char; char const * p; 同上因为C++里面没有const*的运算符,所以const只能属于前面的类型. C++标准规定,const关键字放在

Java 带分隔字符串、字符串数组和 ArrayList&lt;String&gt; 之间的转换

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 一.先来认识一下标题说的这三件东西,也许描述的不清楚,但有了下面的例子,就不会有歧义了 1.带分隔字符串是这样的: String seperate

const char **,char *const *,char ** const

1.告警 test_cpp.c #include <stdlib.h> #include <stdio.h> int main() { char c = 'c'; char c_q = 'c'; char *p = &c; char *q = &c_q; char **pp = &p; const char **cpp = &p; char const **c_pp = &p; char * const *pcp = &p; char