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...