今天寫代碼時碰到了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;
等類似的強制轉換;
新聞熱點
疑難解答