**:
簡單資料型別類
cstring物件由乙個可變長的字串行組成,它提供了一些簡單的函式和操作符成員(如連線和比較操作符等)。
1、cstring物件的連線
cstring物件的連線是通過該類的「+」成員操作符進行的,它可以將兩個字串合併起來,並返回乙個cstring物件。需要注意的是兩個引數字串中至少有乙個必須是cstring物件,另外乙個可以是字元或字元指標。
cstring gray("gray");
cstring cat("cat");
cstring graycat=gray+cat;
2、格式化字串
cstring類的成員函式format可以將一系列字元和值格式化並儲存到cstring中。當將乙個字串作為可選的引數傳遞時,必須將它顯式的對映為lpctstr。
int icount;
cstring str;
str.format("the total count is %d",icount);
格式化字串也是將其他型別的資料轉化為cstring型別的常用技巧。例如,將整型值轉化為字串形式:
int icount;
cstring str;
str.format("%d",icount);
3、cstring型轉化為int、long型
有時需要將字串型別轉化為int型或long型,可以使用_ttoi或_ttol等函式。
str1="-98 dogs";
i=_ttoi(str1);
str2="885 dollars";
l=_ttol(str2);
轉換後如下:
i==-98;
l=885;
4、字元指標(char*)和cstring相互轉換
定義字元型指標變數pchar並為其賦值如下:
char*pchar="test only";
可以使用如下方法中的一種,從字元指標型資料中建立cstring物件:
cstring str="test only";
cstring str("test only");
cstring str=pchar;
cstring str(pchar);
(1)使用強制型別轉換的方法將cstring物件轉換為lpctstr型別。cstring類過載了lpctstr操作符,使用該操作符可以得到cstring物件緩衝區的位址。因此,如果需要乙個指向cstring的字串指標,可以按照如下方式進行:
cstring str("test only");
lpctstr pchar=str;
(2)使用cstring物件的getbuffer成員函式。如果需要修改cstring的內容,可以使用成員函式getbuffer,該成員函式返回乙個lptstr型別的緩衝區位址,由於它不是const型,所以可以修改cstring的內容。但需要注意的是,在使用cstring物件其他的任何任何成員函式之前必須呼叫releasebuffer成員函式。
cstring str("test only");
lptstr pchar=str.getbuffer(10);//直接訪問cstring緩衝區
strcpy(pchar,"hello");
str.releasebuffer;
(3)使用強制型別轉換的方法將cstring物件轉換為lptstr 型別。首先把cstring強制型別轉換為lpctstr,以獲得cstring物件中字串的位址,然後再強制型別轉換為lptstr,以便對其進行賦值操作。
cstring str("test only");
lptstr pchar=(lptstr)(lpctstr)str;
lpstr-----------32位指標,指向乙個字串(cstring)
lpcstr---------32位指標,指向乙個常數字串
lptsre---------32位指標,指向乙個字串,此字串可以移植到unicode和dbcs(常用)
lpctstr-------32位指標,指向乙個常數字串,此字串可以移植到unicode和dbcs(常用)
140218 簡單資料型別和轉換
其實和c 差不多 幾種主要資料型別的測試 package work.w0218c public class datatype 點鐘法?package work.w0218c package work.w0218c public class datatypeconvetor package work....
簡單資料型別
number string boolean undefined null number型別 浮點數 var n 5e 324 科學計數法 5乘以10的 324次方 浮點數值的最高精度是 17 位小數,但在進行算術計算時其精確度遠遠不如整數 var result 0.1 0.2 結果不是 0.3,而是...
簡單資料型別
簡單資料型別 number string boolean undefined null number型別 數值字面量 數值的固定值的表示法 110 1024 60.5 浮點數浮點數的精度問題 浮點數var n 5e 324 科學計數法 5乘以10的 324次方 浮點數值的最高精度是 17 位小數,但...