CString类型转换Word文档下载推荐.docx

上传人:b****4 文档编号:7103905 上传时间:2023-05-07 格式:DOCX 页数:18 大小:22.90KB
下载 相关 举报
CString类型转换Word文档下载推荐.docx_第1页
第1页 / 共18页
CString类型转换Word文档下载推荐.docx_第2页
第2页 / 共18页
CString类型转换Word文档下载推荐.docx_第3页
第3页 / 共18页
CString类型转换Word文档下载推荐.docx_第4页
第4页 / 共18页
CString类型转换Word文档下载推荐.docx_第5页
第5页 / 共18页
CString类型转换Word文档下载推荐.docx_第6页
第6页 / 共18页
CString类型转换Word文档下载推荐.docx_第7页
第7页 / 共18页
CString类型转换Word文档下载推荐.docx_第8页
第8页 / 共18页
CString类型转换Word文档下载推荐.docx_第9页
第9页 / 共18页
CString类型转换Word文档下载推荐.docx_第10页
第10页 / 共18页
CString类型转换Word文档下载推荐.docx_第11页
第11页 / 共18页
CString类型转换Word文档下载推荐.docx_第12页
第12页 / 共18页
CString类型转换Word文档下载推荐.docx_第13页
第13页 / 共18页
CString类型转换Word文档下载推荐.docx_第14页
第14页 / 共18页
CString类型转换Word文档下载推荐.docx_第15页
第15页 / 共18页
CString类型转换Word文档下载推荐.docx_第16页
第16页 / 共18页
CString类型转换Word文档下载推荐.docx_第17页
第17页 / 共18页
CString类型转换Word文档下载推荐.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

CString类型转换Word文档下载推荐.docx

《CString类型转换Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《CString类型转换Word文档下载推荐.docx(18页珍藏版)》请在冰点文库上搜索。

CString类型转换Word文档下载推荐.docx

  如以下例子:

  Format("

mynameis%6s"

"

wind"

  返回后就是 

  mynameiswind 

  

  现在来看Format参数的具体情况:

  Format里面可以写普通的字符串,比如"

mynameis"

  但有些格式指令字符具有非凡意义,比如"

%6s"

  格式指令具有以下的形式:

  "

%"

[index"

:

"

]["

-"

][width]["

."

prec]type 

  它是以"

开始,而以type结束,type表示一个具体的类型。

中间是用来 

  格式化type类型的指令字符,是可选的。

  先来看看type,type可以是以下字符:

  d 

十制数,表示一个整型值 

  u 

和d一样是整型值,但它是无符号的,而假如它对应的值是负的,则返回时 

  是一个2的32次方减去这个绝对值的数 

  如:

Format("

thisis%u"

-2);

  返回的是:

thisis4294967294 

  f 

对应浮点数 

  e 

科学表示法,对应整型数和浮点数, 

  比如Format("

thisis%e"

-2.22);

thisis-2.220000E+000 

  等一下再说明假如将数的精度缩小 

  g 

这个只能对应浮点型,且它会将值中多余的数去掉 

thisis%g"

02.200);

thisis2.2 

  n 

只能对应浮点型,将值转化为号码的形式。

看一个例子就明白了 

thisis%n"

4552.2176);

  返回的是thisis4,552.22 

  注重有两点,一是只表示到小数后两位,等一下说怎么消除这种情况 

,二是,即使小数没有被截断,它也不会也像整数部分一样有逗号来分开的 

  m 

钱币类型,但关于货币类型有更好的格式化方法,这里只是简单的格式化 

  另外它只对应于浮点值 

thisis%m"

9552.21);

  返回:

thisis¥9,552.21 

  p 

对应于指针类型,返回的值是指针的地址,以十六进制的形式来表示 

  例如:

thisis%p"

p);

  Edit1的内容是:

thisis0012F548 

  s 

对应字符串类型,不用多说了吧 

  x 

必须是一个整形值,以十六进制的形式返回 

thisis%X"

15);

  返回是:

thisisF 

  类型讲述完毕,下面介绍格式化Type的指令:

  [index"

这个要怎么表达呢,看一个例子 

thisis%d%d"

12,13);

  其中第一个%d的索引是0,第二个%d是1,所以字符显示的时候 

是这样 

thisis1213 

  而假如你这样定义:

thisis%1:

d%0:

d"

  那么返回的字符串就变成了 

  thisis1312 

  现在明白了吗,[index"

]中的index指示Args中参数显示的 

顺序 

  还有一种情况,假如这样Format("

%d%d%d%0:

d%d"

1,2,3,4);

  将返回12312。

  假如你想返回的是12314,必须这样定:

d%3:

  但用的时候要注重,索引不能超出Args中的个数,不然会引起异常 

  如Format("

thisis%2:

  由于Args中只有1213两个数,所以Index只能是0或1,这里为2就错了 

  [width] 

指定将被格式化的值占的宽度,看一个例子就明白了 

thisis%4d"

12);

  输出是:

thisis12 

  这个是比较轻易,不过假如Width的值小于参数的长度,则没有效果。

thisis%1d"

  ["

这个指定参数向左齐,和[width]合在一起最可以看到效果:

thisis%-4d,yes"

thisis12,yes 

prec] 

指定精度,对于浮点数效果最佳:

  Format('

thisis%.2f'

['

1.1234]);

  输出thisis1.12 

thisis%.7f'

  输了thisis1.1234000 

  而对于整型数,假如prec比如整型的位数小,则没有效果 

  反之比整形值的位数大,则会在整型值的前面以0补之 

thisis%.7d'

[1234]);

thisis0001234] 

  对于字符型,刚好和整型值相反,假如prec比字符串型的长度大 

  则没有效果,反之比字符串型的长度小,则会截断尾部的字符 

thisis%.2s'

1234'

]);

  输出是thisis12 

  而上面说的这个例子:

thisis%e'

[-2.22]);

thisis-2.22000000000000E+000 

  怎么去掉多余的0呢,这个就行啦 

thisis%.2e'

  好了,第一个总算讲完了,应该对他的应用很熟知了吧 

  /////////////////////////////////////////////////////////////// 

FormatDateTime的用法 

  他的声明为:

  functionFormatDateTime(constFormat:

DateTime:

TDateTime):

  overload;

  当然和Format一样还有一种,但这里只介绍常用的第一种 

  Format参数是一个格式化字符串。

DateTime是时间类型。

返回值是一种格式化后的 

  字符串 

  重点来看Format参数中的指令字符 

  c以短时间格式显示时间,即全部是数字的表示 

  FormatdateTime('

c'

now);

  输出为:

2004-8-79:

55:

40 

  d对应于时间中的日期,日期是一位则显示一位,两位则显示两位 

d'

  输出可能为1~31 

  dd和d的意义一样,但它始终是以两位来显示的 

dd'

  输出可能为01~31 

  ddd显示的是星期几 

ddd'

  输出为:

星期六 

  dddd和ddd显示的是一样的。

  但上面两个假如在其他国家可能不一样。

  ddddd以短时间格式显示年月日 

ddddd'

2004-8-7 

  dddddd以长时间格式显示年月日 

dddddd'

2004年8月7日 

  e/ee/eee/eeee以相应的位数显示年 

ee'

04(表示04年) 

  m/mm/mmm/mmmm表示月 

m'

mm'

  输出为08 

mmm'

  输出为八月 

mmmm'

  和ddd/dddd一样,在其他国家可能不同 

  yy/yyyy表示年 

yy'

  输出为04 

yyyy'

  输出为2004 

  h/hh,n/nn,s/ss,z/zzz分别表示小时,分,秒,毫秒 

  t以短时间格式显示时间 

t'

  输出为10:

17 

  tt以长时间格式显示时间 

tt'

  输出为10:

18:

46 

  ampm以长时间格式显示上午还是下午 

ttampm'

10:

22:

57上午 

  大概如此,假如要在Format中加普通的字符串,可以用双引号隔开那些 

  特定义的字符,这样普通字符串中假如含非凡的字符就不会被显示为 

  时间格式啦:

todayis"

c'

todayis2004-8-710:

26:

58 

  时间中也可以加"

或"

来分开日期:

yy-mm-dd'

yymmdd'

todayis04-08-07 

  也可以用"

来分开时间 

hh:

nn:

ss'

todayis10:

32:

23 

  ///////////////////////////////////////////////////////////////// 

FormatFloat的用法 

  常用的声明:

  functionFormatFloat(constFormat:

Value:

Extended):

  和上面一样Format参数为格式化指令字符,Value为Extended类型 

  为什么是这个类型,因为它是所有浮点值中表示范围最大的,假如传入该方法的参数 

  比如Double或者其他,则可以保存不会超出范围。

  要害是看Format参数的用法 

  0这个指定相应的位数的指令。

  比如:

FormatFloat('

000.000'

22.22);

  输出的就是022.220 

  注重一点,假如整数部分的0的个数小于Value参数中整数的位数,则没有效果 

0.00'

  输出的是:

22.22 

  但假如小数部分的0小于Value中小数的倍数,则会截去相应的小数和位数 

0.0'

22.2 

  也可以在整数0中指定逗号,这个整数位数必须大于3个,才会有逗号出句 

  FormatFloat('

0,000.0'

2222.22);

2,222.2 

  假如这样FormatFloat('

000,0.0'

  它的输出还是:

  注重它的规律 

  #和0的用法一样,目前我还没有测出有什么不同。

##.##'

22.00 

  E科学表示法,看几个例子大概就明白了 

0.00E+00'

  输出是2.22E+03 

0000.00E+00'

  输出是2222.22E+00 

00.0E+0'

  22.2E+2 

  明白了吗,全靠E右边的0来支配的。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ANSI和UNICODE的函数对应表

ANSI 

UNICODE 

通用

(char.h) 

(wchar.h) 

(tchar.h)

char 

wchar_t 

TCHAR

char* 

wchar_t* 

PTCHAR(PTSTR,LPWSTR,PWSTR,WCHAR)

printf 

wprintf 

_tprintf

scanf 

wscanf 

_tscanf

atoi 

_wtoi 

_ttoi

atol 

_wtol 

_ttol

itoa 

_itow 

_itot

ltoa 

_ltow 

_ltot

atof 

_wtof 

_tstof

strlen 

wcslen 

_tcslen

strcat 

wcscat 

_tcscat

strcpy 

wcscpy 

_tcscpy

strcmp 

wcscmp 

_tcscmp

ASCII

UNICODE

TCHAR

VS2005

int

atoi

_wtoi

_tstoi

_ttoi

_atoi_l

_wtoi_l

long

atol

_wtol

__int64

_atoi64

_wtoi64

_tstoi64

_ttoi64

_atoi64_l

_wtoi64_l

float

_atoflt

_atoflt_l

double

atof

_wtof

_tstof

_ttof

_atof_l

_wtof_l

_atodbl

_atodbl_l

longdouble

_atoldbl

_atoldbl_l

atof,_atof_l,_wtof,_wtof_l

Convertstringtofloat

atoi,_atoi_l,_wtoi,_wtoi_l

Convertstringtoint

_atoi64,_atoi64_l,_wtoi64,_wtoi64_l

Convertstringto__int64

atol,_atol_l,_wtol,_wtol_l

Convertstringtolong

_ecvt,_ecvt_s

Convertdoubletostringofspecifiedlength

_fcvt,_fcvt_s

Convertdoubletostringwithspecifiednumberofdigitsfollowingdecimalpoint

_gcvt,_gcvt_s

Convertdoublenumbertostring;

storestringinbuffer

_itoa,_i64toa,_ui64toa,_itow,_i64tow,_ui64tow,_itoa_s,_i64toa_s,_ui64toa_s,_itow_s,_i64tow_s,_ui64tow_s

Convertintor__int64tostring

_ltoa,_ltow,_ltoa_s,_ltow_s

Convertlongtostring

strtod,_strtod_l,wcstod,_wcstod_l

Convertstringtodouble

strtol,wcstol,_strtol_l,_wcstol_l

Convertstringtolonginteger

strtoul,_strtoul_l,wcstoul,_wcstoul_l

Convertstringtounsignedlonginteger

_ultoa,_ultow,_ultoa_s,_ultow_s

Convertunsignedlongtostring

Convertwide-characterstringtoadouble

Convertwide-characterstringtoint

Convertwide-characterstringto__int64

Convertwide-characterstringtolong

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

ASSERT()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,假如表达式为FALSE 

(0), 

程序将报告错误,并终止执行。

假如表达式不为0,则继续执行后面的语句。

这个宏通常原来判定程序中是否出现了明显非法的数据,假如出现了终止程序以免导致严重后果,同时也便于查找错误。

ASSERT只有在Debug版本中才有效,假如编译为Release版本则被忽略。

--------------------------------------------------------------- 

ASSERT宏定义如下 

#define 

ASSERT(f) 

do 

if 

(!

(f) 

&

AfxAssertFailedLine(THIS_FILE, 

__LINE__)) 

AfxDebugBreak();

while 

(0) 

ASSERT(逻辑表达式) 

假如括号中的逻辑表达式值为假的话,会弹出调试命令窗口,提示具体在哪个文件的哪一行发生了断言错误!

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2