string char * const char *之间的互相转换
Posted 我是王小北
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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不让用strcpy,只能用strcpy_s代替
string str = "hello"; int str_len = str.length(); char *a = new char[str_len + 1]; strcpy_s(a, str_len + 1, str.c_str()); delete[] a;
char * -> string
直接赋值
const char * -> char *
const char *b = "hello"; char *a = new char[strlen(b) + 1]; strcpy_s(a, strlen(b) + 1, b); cout << a << endl; delete[] a;
char * -> const char*
直接赋值
char *a = "hello"; const char *b = a;
以上是关于string char * const char *之间的互相转换的主要内容,如果未能解决你的问题,请参考以下文章
C++标准库 如何连接两个const char *类型字符串,并返回const char * 类型结果?
error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LP