CString Format函数 (VS2008)

来源:互联网 发布:同济大学 唐宇迪 知乎 编辑:程序博客网 时间:2024/05/01 02:06
原文地址:CString Format函数 (VS2008)作者:阳光雨露
一、Format方法格式化字符

CString str;
str.Format(_T("格式控制字符串"),输出内容);

    格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以"%"开头的字符串,在"%"后面跟各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如"%d"表示按十进制整型输出,"%ld"表示按十进制长整形输出,"%c"表示按字符型输出等。非格式字符串在输出时保持原样,在显示中起提示作用。

格式字符串的一般形式为:
[标志][输出最小宽度][.精度][长度]转换说明符
    其中[]中的项为可选项
转换说明符:
    c:    输出单个字符,参数为该字符的ASCII码
    d,i:  以十进制形式输出带符号整数(正数不输出符号)
    e,E:  以指数形式输出单、双精度实数,默认为6位小数
    f:    以小数形式输出单、双精度实数,默认为6位小数
    s:    输出字符串,参数为char指针,显示空字符之前的所有字符或指定数目的数字
    u:    以十进制形式输出无符号整数

长度:长度格式符共分为h和l两种,h表示按短整型量输出,l表示按长整型量输出。一般很少用到。
精度:精度格式符以"."开头,后跟十进制整数。其含义是:如果输出数字,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。
标志:常用的标识符为'-'和'+'。'-'表示结果左对齐,右边填空格;'+'表示结果右对齐,对于有符号数,在其左边加上'+'或'-'。

二、CString类型字符串转换为其他类型

(1)转换为数值型
     --atoi
       如:CString str("352");
           int iTemp=atoi(str);

     --atof
       如:CString s;
           s="12345.6789";
           float f=(float)atof((char*)(LPCTSTR)s);
(2)转换为char*类型
     *使用GetBuffer函数
       如:char *p;
           CString str="Good Morning";
           p=str.GetBuffer(str.GetLength());
     *使用memcpy函数
       如:CString str("Good Morning ");
           char mch[20];
           memcpy(mch,str,str.GetLength());
     *使用LPCTSTR强制类型转换
       如:char *ch;
           CString str("Good Morning ");
           ch=(LPSTR)(LPCTSTR)str;
       char*类型的数据可以直接赋值给CString对象。
0 0
原创粉丝点击