关于c++中字符串和字符指针之间的转化
来源:互联网 发布:淘宝用绒里图片 编辑:程序博客网 时间:2024/05/01 18:31
前几天在做网络通信时,遇到一个小问题,里面有一个要把字符串转化为字符指针的需求。
要把字符指针赋值给字符串很简单,直接赋值就可以了。
char *a="abcd";string b=a;///把指针变量a的首地址赋值给了b的首地址
这样做不会出现错误,把指针变量a的首地址赋值给了b的首地址。在c++中,字符串在内存的存储方式就是和字符指针的存储方式一样的。但如果你要复制给一个字符数组就不对了,如
char *a="abcd";char b[5];b=a;
因为b在此处是一个常量,常量是不能被赋值的。
但是如果这样复制却是可以的
char b[5]="abcd";
这相当于对字符数组初始化,这是c语言中字符数组初始化的方式。
在c++字符串类中有一个成员函数c_str(),这个函数可以把字符串转为为字符指针,但是最后转化成的字符指针是const char* 类型的,如果你直接这么赋值会出现错误:
string test_str="abcd";char* a=test_str.c_str();
这是因为两边的类型不匹配。要把字符串转为字符指针代码如下:
///字符串转为字符指针char* str_to_c(string& s){ char *result = &s[0]; for (int i = 1; i < s.length() + 1; i++) { *(result + i) = s[i]; } return result;}
c++中string转int
string str="12345"; int b=atoi(str.c_str());
c++中string转double
string str="123.45"; int b=atof(str.c_str());
将int转化为string
int n;char buffer[4];sprintf_s(buffer, "%d", n);str = buffer;
0 0
- 关于c++中字符串和字符指针之间的转化
- C、C++中字符串和字符指针之间的转换
- C和java中关于字符串与字符数组的定义和转化
- Java中关于Json对象类型和字符串类型之间互相转化的问题
- Java中关于Json对象类型和字符串类型之间互相转化的问题 .
- C中关于字符串和字符的处理函数
- C中关于字符串和指针的一点学习心得
- 学习笔记:关于基础类型和字符串之间的转化
- c/c++ 数字和字符串之间的转化
- 11、C语言中字符数组和指针字符串的指针变量
- 【C】 查找字符串中某个字符出现的次数【两种思路,关于指针】
- java中字符串和整型之间的转化
- .net中json字符串和对象之间的转化方法
- js中json和String字符串之间的相互转化
- 关于C语言字符数组、字符串和指针的相关问题
- 字符数组、字符串数组和字符串三者之间的转化
- Java中字符之间的转化
- C语言中字符数组和字符串指针分析
- android多线程编程详解,关于Handler ,Looper , Message , MessageQueue
- javascript面向对象编程笔记第一章<基本类型>
- CentOS swftools 编译安装
- 最小生成树(并查集)
- Android线程的理解与使用
- 关于c++中字符串和字符指针之间的转化
- KISSY基础篇乄KISSY之Event
- 冒泡排序
- 实习每日总结_20161213
- github使用简介
- 一个过时的组件---ActionBar
- 高斯消元(xor方程组)模板
- Storm——2、Storm原生API编程、并发机制、可靠性与DRPC详解
- 解决vim没有颜色的办法