vc下cstring轉換為float

2021-06-19 18:15:55 字數 887 閱讀 8281

2009-07-08 09:57:22

|  分類:

vc型別轉換|字型大小

訂閱 cstring   str   =   cstring("almost   mad!");   

float   tempfloat   =   0.0;   

tempfloat   =   atof(str);,

但是出現這樣的錯誤   

error   c2664:   'atof'   :   cannot   convert   parameter   1   from   'cstring'   to   'const   char   *'  

原因:工程是unicode,  unicode下lpctstr可不是const   char   *

建議 :

cstring   str;   

float   fi;   

fi   =   _tstof(str);   

這樣無論是不是unicode下,就都可以了

解決方案:

double   atof(   

const   char   *str     

);   

double   _wtof(   

const   wchar_t   *str     

);   

atof是非unicode版本的,所以接受引數為const   char   *。   

_wtof才是unicode下的,所以接受寬字元為引數。   

為了統一,可以用_tstof或者_ttof。

非unicode下,直接用getbuffer(0)得到的就是單位元組字元指標。   

unicode下,將getbuffer(0)得到的寬字元指標用w2a巨集轉成單位元組字元指標。

Mfc下CString轉換為char

下面分享一下新心得 mfc 下cstring 轉char uses conversion char name w2a m name.getbuffer m name.getlength 1 char code w2a m code.getbuffer m code.getlength 1 windo...

CString轉換為double 創 轉

cstring轉換為double cstring strfloat float flt 或double fit 不過前面兩種方法在vs2005下執行結果不正確,在vc6.0開發環境下是可以的。說明 網上很多說的都是前兩種方法,結果double值只是字串的第乙個數字。方法一 flt float ato...

c string型別轉換為char 型別

string 是c 標準庫裡面其中乙個,封裝了對字串的操作 把string轉換為char 有3中方法 1。data 如 string str abc char p str.data 2.c str 如 string str gdfd char p str.c str 3 copy 比如 string...