MFC下的CString下面格式(format)转换的巧用

[入库:2005年8月19日] [更新:2007年3月24日]

本文简介:选择自 infoncust 的 blog

当我们在写程序的时候,字符串的处理频率是相当高的。比如像数字转换为字符,或者字符转换为整型、双精度型等,如果能够妙用字符串的功能,将会起到事半功倍的效果,这又何乐而不为呢。
根据msdn的解释:
支持两种转换格式,如下所示
void format( lpctstr lpszformat, ... );
其中参数lpszformat 是格式控制字符串,
void format( uint nformatid, ... );
其中参数nformatid 是资源号,比如字符串资源中的编号。
其中调用这个函数的功能是能够想sprintf格式化转换一样,
例如下面这个例子。

cstring str;

str.format(_t("floating point: %.2f\n"), 12345.12345);
_tprintf("%s", (lpctstr) str);

str.format(_t("left-justified integer: %.6d\n"), 35);
_tprintf("%s", (lpctstr) str);

str.format(ids_score, 5, 3);
_tprintf("%s", (lpctstr) str);
其中ids_score是字符串资源中的一个标志符。里面包含的内容为"penguins: %d\nflyers  : %d\n"


那么这两个字符串的输入为:
floating point: 12345.12
left-justified integer: 000035
penguins: 5
flyers  : 3


所以如果要用到比较通用的字符串时,可以把这个字符串定义为资源里面的id,这样修改起来会更方便、更快捷。

 

本文关键:MFC下的CString下面格式(format)转换的巧用
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top