今天写代码时碰到了string类型转char*,和string转double类型的转换,之前没遇到过这样的类型转换,查了些资料后便得到了自己的心仪答案。
string类转char*类:
(1).data
string str = "woaixuexi";
char*p = (char*)str.data() ;
(2).c_str
string str = "woaixuexi";
char*p = str.c_str();
(3).copy
string str = "woaixuexi";
char p[20];
str.copy(p,9,0) //p是字符串,9是存入的数据个数,0是存数据的起始位置
*(p+9) = '/0' ; //这里记得自己加上结束符号
string类转double类:
string str = "190.123456" ;
double math;
math = atof(str) ; //记得加上头文件#include<stdlib.h>,#include<stdio.h>
我们大多数时候会遇到其他的类型转换,只要在被修改的的变量前加上想转换成的类型即可,也就是强制转换,比如:
(1)char a = "10";int b ;b=(int)a ;
(2) class temp ;temp temper ;char *p = NULL;p = (char*)&temper;
等类似的强制转换;
新闻热点
疑难解答