您的位置:首页 > 编程语言 > C语言/C++

【转】Symbian C++ 各种类型之间的转换

2009-09-04 11:53 786 查看
原文:http://www.devdiv.net/viewthread.php?tid=2425&extra=page%3D1%26amp%3Bfilter%3Dtype%26amp%3Btypeid%3D20

Symbian C++ 各种类型之间的转换

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的指针。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: