char[],char *,string之间转换
来源:互联网 发布:linux tomcat常用命令 编辑:程序博客网 时间:2024/04/28 21:31
char[],char *,string之间转换
char []与char *之间转换
char []转char *:直接进行赋值即可
// char[] 转char *char str[] = "lala";char *str1 = str;cout << str1 << endl;
char *转char[]:字符拷贝实现,不能进行赋值操作
// char *转换为char []const char *st = "hehe";char st1[] = "lalalala";strncpy(st1, st, strlen(st) + 1); // 注意加1操作 // tp = temp; //错误,不能实现 cout << st1 << endl;
char 与const char 之间转换
const char 转char :拷贝实现,不能进行赋值
// const char *转char *const char *st = "lala";// 直接赋值不可以 //char *st1 = st; // (不可以编译器报错) //cout << st1 << endl;// 另外开辟空间,将字符一个一个复制过去char *ncstr = new char[strlen(st) + 1];strcpy(ncstr, st);cout << ncstr << endl;
char 转const char :直接进行赋值
// char *转const char * char *st = "hehe"; // (编译提示警告)const char *st1 = st;cout << st1 << endl;
char *与string之间转换
char *转string:1)直接赋值;2)构造转换实现
// char*转换为string// (注意,定义char *变量,并直接赋值,最好定义为const变量,否则编译器警告) const char *st = "hello";// 赋值转换 string st1 = st;cout << st1 << endl;// 构造转换 string s1(st, st + strlen(st));cout << s1 << endl;// 改变const char *变量值 st = "lalala";cout << st << endl;
string转char *:赋值操作(注意类型转换)
// string转char *string st = "My test";//char *st1 = st; // 错误类型不同 //char *st1 = st.c_str(); // 错误类型不同char *st1 = const_cast<char *>(st.c_str()) ;cout << st1 << endl;
char[]与string之间转换
char []转string:1)直接赋值;2)构造转换实现
// char[]转换为string char st[] = "hello"; // 直接赋值实现 string st1 = st;cout << st1 << endl;// 构造实现 string st2(st, st + strlen(st));cout << st2 << endl;
string转char[]:拷贝实现,不能直接赋值
// string转char []string ts = "My test1";//char ts1[] = ts; // 错误//char ts1[] = const_cast<char *>(ts.c_str()); // 错误 char ts1[] = "lalallalalaaaa";strncpy(ts1, ts.c_str(), ts.length() + 1); // 注意,一定要加1,否则没有赋值'\0' cout << ts1 << endl; return 0;
总结
涉及到char []字符数组与其它类型转换,一般需要进行拷贝,不能直接赋值实现。char []和char *都可以通过构造新的string完成其对string的转换。涉及到到char *转换,需要注意类型一致,同时注意const的使用。
0 0
- char[],char *,string之间转换
- CString、string、char*、char[]之间的转换
- Cstring,string,char*,char[]之间的转换
- CString string char * char[] 之间的转换
- string char const char之间的转换
- string char* const char*之间互相转换
- string 与char* char[]之间的转换
- char*、char[]、string 之间的 转换、比较
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换 .
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- string 与char* char[]之间的转换
- 使用Nexus创建Maven私有仓库
- centos6环境创建局域网http方式的yum源
- setResult与setResultData混淆
- Leetcode Self Crossing
- 初学android开发--day07
- char[],char *,string之间转换
- 62. Unique Paths
- c/c++基础知识点
- PHPStorm获取免费社区激活
- k-means确定初始中心值的方法
- 观察者模式
- Android开发 MeasureSpec介绍
- C++全局变量(编译后)去哪儿
- 22. Generate Parentheses