Symbian C++ 各種類型之間的轉換

來源:互聯網
上載者:User
1. TTime轉TBuf型
TBuf<32> theTime;//儲存轉換後的時間
  TTime tt;
  tt.HomeTime();
  _LIT(KTimeFormat,"%Y%M%D%1-%2-%3 %H:%T:%S");//格式為:2006-03-04 12:12:12
  tt.FormatL(theTime,KTimeFormat);
2. TDateTime轉TBuf型
TTime currentTime;//聲明一個TTime類型
 currentTime.HomeTime();//設定TTime為目前時間
TDateTime tdt=currentTime.DateTime();//TTime  --->  TDateTime
 TBuf<32> tmp;//儲存轉換完的Buf
 tmp.AppendNum(tdt.Year());//用AppendNum()方法將一個Tint加入到TBuf中。
 _LIT(gang,"-");//聲明一個橫線分隔年月日,同樣可聲明冒號分隔小時分秒
 tmp.Append(gang);
 tmp.AppendNum(tdt.Month());
 tmp.Append(gang);
 tmp.AppendNum(tdt.Day());…………時分秒的轉換同上
3. TBuf轉Tint型
// 15位元字
TInt iNum1(123456789009876);
// 將緩衝的內容設定為iNum1
iBuf.Num(iNum1);
// 使用iBuf包含的內容建立TLex對象
// the 15 digit number
TLex iLex(iBuf);
// iNum1
TInt iNum2;
//iNum2現在包含了15位元字
iLex.Val(iNum2);
4. Tint轉TBuf型
TBuf<10>tmp;
Tint ti=190;
Tmp.AppendNum(ti);
5. TBuf轉TDateTime型
將長的TBuf截成小段,分別是年月日時分秒,通過下面TBuf轉TInt ,再分別把轉換成TInt的年月日取出,通過TDateTime的setYear(),setMonth()等方法將時間set進TDateTime,
6. 其他轉換
/* 資料類型轉換*/
TBuf  轉換為 TPtrC16
    TBuf<32> tText(_L("2004/11/05 05:44:00"));
    TPtrC16 tPtrSecond=tText.Mid(17,2);TPtrC16 轉換為 TBufC16
    TPtrC16 tPtrSecond=tText.Mid(17,2);
    TBufC16<10> bufcs(tPtrSecond);TBufC16 轉換為  TPtr16
    TBufC16<10> bufcs(tPtrSecond);
    TPtr16 f=bufcs.Des();TPtr16 轉換為 TBuf
    TBuf<10> bufSecond;
    bufSecond.Copy(f);TBuf 轉換為 TPtr16
    TBuf<10> bufSecond(_L("abc"));
    TPtr16 f;
    f.Copy(bufSecond);TBuf 轉換為 TInt
    TInt aSecond;
    TLex iLexS(bufSecond);
    iLexS.Val(aSecond); TInt 轉換為 TBuf
    TBuf<32> tbuf;
    TInt i=200;
    tbuf.Num(i); /*memset   memcpy   strcpy */memset主要應用是初始化某個記憶體空間。用來對一段記憶體空間全部設定為某個字元。
memcpy是用於COPY源空間的資料到目的空間中,用來做記憶體拷貝可以拿它拷貝任何資料類型的對象。
strcpy只能拷貝字串了,它遇到'/0'就結束拷貝。
strcpy
 原型:extern char *strcpy(char *dest,char *src);
 用法:#include <string.h>
 功能:把src所指由NULL結束的字串複製到dest所指的數組中。
 說明:src和dest所指記憶體地區不可以重疊且dest必須有足夠的空間來容納src的字串。
       返回指向dest的指標。    
memcpy
 原型:extern void *memcpy(void *dest, void *src, unsigned int count);
 用法:#include <string.h>
 功能:由src所指記憶體地區複製count個位元組到dest所指記憶體地區。
 說明:src和dest所指記憶體地區不能重疊,函數返回指向dest的指標。
memset
 原型:extern void *memset(void *buffer, int c, int count);
 用法:#include <string.h>
 功能:把buffer所指記憶體地區的前count個位元組設定成字元c。
 說明:返回指向buffer的指標。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.