SymbianC++各种类型之间的转换

来源:互联网 发布:手机c 语言编程软件 编辑:程序博客网 时间:2024/05/05 16:40

. 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的指针。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hzb1983/archive/2009/06/05/4244291.aspx

原创粉丝点击